Path: utzoo!attcan!uunet!ogicse!milton!Tomobiki-Cho!mrc From: mrc@Tomobiki-Cho.CAC.Washington.EDU (Mark Crispin) Newsgroups: comp.protocols.tcp-ip Subject: Re: sockets vs. streams Message-ID: <7084@milton.u.washington.edu> Date: 5 Sep 90 06:10:07 GMT References: <13526@mentor.cc.purdue.edu> <9009012315.AA08202@world.std.com> Sender: news@milton.u.washington.edu Organization: Mendou Zaibatsu, Tomobiki-Cho, Butsumetsu-Shi Lines: 40 In article <9009012315.AA08202@world.std.com> bzs@WORLD.STD.COM (Barry Shein) writes: >I'm mixed on this issue. TOPS-20 had a file-system-like interface (was >that BBN's TCP?) and, to be frank, I found it quite clumsy (tho >interesting.) The string one passed to the open call started to look >more and more like a long string of IBM/JCL and less and less like a >file name as various options were added. Hmm, I guess you never did much in JCL; I did, and believe me, the name of TCP: files was a lot simpler! The main bug in the TOPS-20 interface was that passive (listening), not active, was the default. Anyway, the TOPS-20 filesystem TCP interface came from DEC. The original BBN interface was one that every socket hacker would love. It implemented an entirely new set of system calls just for TCP, passing around an entirely separate space of designators from files, so every program that did network I/O had to have a completely different I/O path just for TCP. A gory mess. DEC was originally going to rewrite it, but what they ended up doing was writing a filesystem driver that used the BBN calls internally. Eventually, there were some special hacks done to reduce the overhead, but the underlying BBN mess remained. However -- once the filesystem interface was available I don't know of a single applications programmer who used the BBN calls. Everybody wrote using the TCP: device. I'm quite familiar with all this as I wrote most of the TOPS-20 applications-level TCP software. Just you wait. I'm sure that someone is going to end up inventing yet another I/O schema for ISO. And everyone will scream for something that is backwards compatible with sockets or streams. _____ | ____ ___|___ /__ Mark ("Gaijin") Crispin "Gaijin! Gaijin!" _|_|_ -|- || __|__ / / R90/6 pilot, DoD #0105 "Gaijin ha doko?" |_|_|_| |\-++- |===| / / Atheist & Proud "Niichan ha gaijin." --|-- /| |||| |___| /\ (206) 842-2385/543-5762 "Chigau. Gaijin ja nai. /|\ | |/\| _______ / \ MRC@CAC.Washington.EDU Omae ha gaijin darou" / | \ | |__| / \ / \"Iie, boku ha nihonjin." "Souka. Yappari gaijin!" Hee, dakedo UNIX nanka wo tsukatte, umaku ikanaku temo shiranai yo.