Archive of UserLand's first discussion group, started October 5, 1998.

Re: Mac OS X, Carbon, Etc.

Author:Bruce Hoult
Posted:5/18/1999; 6:19:19 PM
Topic:Mac OS X, Carbon, Etc.
Msg #:6451 (In response to 6429)
Prev/Next:6450 / 6452

Open Transport does exist in Carbon... though I think I heard that the APIs are just shimmied on top of BSD sockets.

That's just the client APIs. The whole guts is missing.

The whole point of Open Transport is that it's "streams". That means that the protocol stack is componentised and open and a program can discover what modules each data stream goes though and add in extra ones of it's own. So, for example, you can seamlessly add in an encryption module to any (or every) data stream. Or split the data stream and recombine it somewhere else. Or do some special routing. Or put in your own module to talk to special hardware. Or anything else you can think of.

Without a "streams" internal architecure, if you want to change how things work you need to either have the source code and patch it and recompile (e.g. on Linux or FreeBSD) or else you have to throw away the vendor's protocol stack *ENTIRELY* and implement your own from scratch (Windows, pre-OpenTransport Mac, Solaris etc etc). Look how many differnent implementations of Winsock there are, just to do some little stupid thing different!

If you want to put a "socket" API on the client side of a streams implementation that's really easy. You can also easily put a streams client API on top of sockets, but that des *not* make it streams!

Streams lets small developers (such as Peter Sichel at Sustainable Softworks <http://www.sustworks.com/>) do great things. Sockets locks in the big vendors.

Don't be fooled!


There are responses to this message:


This page was archived on 6/13/2001; 4:50:17 PM.

© Copyright 1998-2001 UserLand Software, Inc.