Boost logo

Boost :

From: Jeremy Maitin-Shepard (jbms_at_[hidden])
Date: 2002-11-24 23:20:04


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


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk