|
Boost : |
From: Boris (boris_at_[hidden])
Date: 2005-04-13 03:49:10
Douglas Gregor wrote:
> On Apr 12, 2005, at 8:54 PM, Boris wrote:
>
>> I updated
>> http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?
>> BoostNet to
>> document why what decisions were made.
>>
>> We have until now:
>> * The network library should support four I/O models which are known
>> to many
>> programmers as blocking, non-blocking, multiplexing and asynchronous.
>
> I think the scope of this library is insane. We don't need to solve
> every single network I/O problem with one huge networking library.
> Having a solid socket library that handles only blocking with be a
> _huge_ improvement . Start small and don't be afraid to say "No!
> That's for the next version."
I don't see any problem. Have a look at the network library in .NET - they
support all four I/O models (actually they are all implemented in just one
class). Blocking and non-blocking calls are easy to implement anyway,
multiplexing requires some object-oriented select and the async stuff has
been extensively discussed in
http://thread.gmane.org/gmane.comp.lib.boost.devel/120188. If we don't think
about all four I/O models in the beginning we might end up with something
like std::iostreams and find out later that we have no async support and no
idea how to add it. As far as I have seen the source codes provided by
Michel and others also include all four I/O models.
Boris
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk