Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84 SMI; site sun.uucp Path: utzoo!linus!decvax!decwrl!sun!guy From: guy@sun.uucp (Guy Harris) Newsgroups: net.unix-wizards,net.lan Subject: Re: STREAMS query Message-ID: <2879@sun.uucp> Date: Sat, 12-Oct-85 16:52:36 EDT Article-I.D.: sun.2879 Posted: Sat Oct 12 16:52:36 1985 Date-Received: Tue, 15-Oct-85 06:38:36 EDT References: <471@enmasse.UUCP> <1699@brl-tgr.ARPA> <449@cheviot.uucp> <169@ihnp3.UUCP> <739@cyb-eng.UUCP> Distribution: net Organization: Sun Microsystems, Inc. Lines: 21 Xref: linus net.unix-wizards:12404 net.lan:944 > > There is no requirement that STREAMs must implement a virtual circuit. > > This seems to be a disagreement upon terminology. That's exactly what it is, and all that it is. The only thing that "stream" as in "Dennis Ritchie's streams" and "stream" as in "4.2BSD SOCK_STREAM socket" (i.e., virtual circuit) have in common is six letters of the alphabet and the fact that they're both used for networking. A "stream" as in "Dennis Ritchie's streams" is a linear connection of "stream processing modules" (yes, I know this is sounds like a circular definition, but treat "stream processing module" as an uninterpreted token). The module at the "tail end" of the stream can be a UDP module. The user writes data to a descriptor; the module at the "head end" of the stream receives this data, manipulates it, passes it down to the next module, etc. until it reaches the UDP module. The UDP module decorates it with a UDP header and hands it to an IP module (this connection isn't strictly a stream connection; see Dennis' recently-posted article on multiplexing in streams) which decorates it with an IP header, figures out the first hop in the route to the destination, and hands it to the appropriate interface driver. Guy Harris