On Sun, 2002-11-24 at 21:23, Jeff Garland wrote: > Is there a reason why we can't define a simple socket library first > as a lower layer without the complications of multiplexing and > threading and then add those on top?
That seems reasonable, since due to the great differences between the blocking and multiplexing models, the interface would be very different. For example, a streambuf interface would not be very usuable in a non-blocking multiplexing model, and furthermore using C++ exceptions to notify the user of I/O errors would also not be very desirable. I would recommend, however, that even the initial library be designed in a properly factored and extensible manner, such that support for other I/O models and protocols that do not provide a reliable, properly ordered, blocking stream of data could be at a later time included without having to completely redesign it. It also seems sensible to support within the blocking model interface access to multiple data streams, each represented by separate streambuf instances, since protocols such as TCP have effectively two data streams - the main data stream an the out-of-band data stream. - Jeremy _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost