
Caleb Epstein wrote:
On 4/22/05, Boris <boris@gtemail.net> wrote:
Caleb Epstein wrote:
[...] concise, which is a tribute to the your implementation. At the same time, it is missing asynchronous and/or non-blocking operations and any means for doing single-threaded I/O multiplexing (e.g. select/poll/etc).
But these don't belong to a streams library anway - at least I wouldn't know how to support these I/O models without changing the stream interface.
No, not in a streams library, but they DO belong in a socket library. This implementation has both, but no non-blocking support that I can see at either level. The error code EWOULDBLOCK is handled (and causes an exception), but there seems to be no way to put a socket into non-blocking mode to cause it to be generated in the first place.
I agree with you, Caleb. Please have a look at the package structure where I try to sort things out: http://www.highscore.de/boost/net/packages.png Maybe the packages can be rearranged but they should give a complete picture and include the requirements you were talking about. Boris