Date: 2005-06-12 20:52:52
to spice up a bit the discussion about networking IOStreams, and to try
and bring more of you into a fruitful discussion, I've uploaded a (or,
one more ;-) "network" library to the Sandbox.
The file is called network.tar.bz2 (duh) located in the pedro_lamarao
The layout of the archive is the familiar boost directory layout, ready
to be expanded on top of a boost release. It was worked on a 1.32
version of boost.
Every new name was added into a boost::network namespace.
Every file is licensed under the Boost License; but please note I'm
currently employed, and haven't talked to my employer yet about
copyright assignments. I plan to initiate a conversation with them to
secure the copyright for this code as soon as possible.
BoostBook documentation is provided with a Jamfile.v2 for bjam, but with
much to fill in many sections. I still don't totally get the
documentation build process, but had success in moving to
libs/network/doc and calling bjam --v2 to build the html files.
Examples are provided in subdirectories of the libs/example/ directory,
each with a Jamfile for bjam. These examples are still far from what I
think is possible to achieve, but already show some interesting coding
patterns facilitated by the IOStream interfaces.
The implementation is as simples as it gets with regards to performance.
With regards to the IOStream classes, much is left to the default
implementation of the standard library. But the code is fully usable, as
can be determined by running the provided examples.
Also, I'm unsure I finished all aspects of the Windows implementation. I
don't have access to a Windows development environment from home.
In the next days I'll concentrate in writing proper documentation.
All this is to try and attract the attention of the average programmer
with common needs for a C++ networking library, and to learn what those
kinds of needs are; my only clue in this regard comes from my previous
contact with your typical Internet protocols like SMTP, FTP, and the like.
As it will be quickly evident, the design and implementation of this
library does not address the complex requirements set in the networking
discussion in the Boost Wiki. This implementation's purpose is to be
useful to it's audience, right here, right now.
-- Pedro LamarÃ£o
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk