
On Mon, Sep 13, 2004 at 12:41:53AM -0500, Aaron W. LaFramboise wrote:
Carlo Wood wrote:
1. Is there a need for this library? Should be a new effort like proposed or do we have to revive 'boost Sockets' and only build upon that without throwing things away?
I am actually unsure what the scope of this proposed library is. It covers a demultiplexor. What else? There is likely some additional machinery needed to get from system-level source to what IOStreams (or whatever) operates on. I think the demultiplexor should be considered separately from other proposed features, including even actual handling of I/O or any blocking operations.
You might be suprised - but I 100% agree with you :) Actually - I am only interested to code a *minimal* demultiplexor library. Unfortunately, it is probably not possible to give that library a portable interface without also dragging different types of 'devices' into it: a socket isn't a fifo (or else there are too many differences). The starting point will be 'handles' - but while on UNIX *all* handles are 'int' (allowing a library like libevent, see http://monkey.org/~provos/libevent/) there are other OS that use different, incompatible, handles. Unless we know in advance exactly which Operating Systems and which devices we want to support - it is not possible to define a portable interface. The only safe thing to do therefore is to fall back to concepts that are defined outside the Operating Systems, like "IP address", "TCP/IP connection", "timer" - things that can ALWAYS be implemented on any OS. Nevertheless - despite that fact, I'd like to provide a (non portable) interface of a smaller part of the whole at first. And wrap a portable interface around that later. -- Carlo Wood <carlo@alinoe.com>