From: Carlo Wood (carlo_at_[hidden])
Date: 2004-09-13 06:11:04
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_at_[hidden]>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk