STREAMS query

Guy Harris guy at sun.uucp
Sun Oct 13 06:52:36 AEST 1985


> > 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



More information about the Comp.unix.wizards mailing list