Boost logo

Boost :

Subject: [boost] [network] 0.9-devel and BOOST_NETWORK_NO_LIB
From: Dean Michael Berris (mikhailberis_at_[hidden])
Date: 2011-03-07 01:21:59


Hi Everyone,

I just recently finished a consulting project that tied me up good the
past three months. Now that I'm pretty much free again to work on
cpp-netlib, I went for the things that have been brought up most
recently on the list (and the Boost developers mailing list):

1. The server tests that used a different port each, configurable at
the command-line with a default. This is already in 0.9-devel.

2. An option to turn off the required external library to be linked
with a macro (BOOST_NETWORK_NO_LIB). With this macro defined before
any cpp-netlib headers are included (or on the command line) the
functions that were made extern or just free functions at namespace
level are marked 'inline' and have their definitions pulled in
accordingly in each translation unit. This addresses Jeff Garland's
and others' concern of the need for an external library when using
cpp-netlib when it's always been header-only until 0.9. I'm still
wrestling with the thought of making the header-only behavior a
default, but I'm not married to the "external library as default"
decision either.

3. A consistent look/view between server-side request/response objects
and client-side request/response objects. Now they can be dealt with
using the same directives and modifiers.

4. Starting to change the library name to Boost.Network (after the suggestions).

#2 is still undocumented, but I am going to be including a
Doxygen-Sphinx bridge that would allow us to write documentation
in-line on the types and have Doxygen invoked when the Sphinx
documentation is built. I found a Sphinx extension to do that and it
looks like it can be bundled with cpp-netlib as well (because it's
under a BSD license) -- it's called "breathe" and can be found here:
http://michaeljones.github.com/breathe/

#3 has been in the branch for a while already and it should be doable
to back-port some of the things to the 0.8 line.

#4 is largely a documentation matter. I have decided that in order for
the development of the network library to scale, that I would
spear-head a mini-community effort that would be called "The C++
Network Library Project" taking in a diplomatic and consensus-building
approach. This way those willing to contribute to the effort can help
with setting the direction of the library, the design decisions, etc.
with me starting as the "benevolent dictator" and letting more people
jump into the fray and becoming co-maintainers and regular
contributors. There are already a couple of people (Oleg Malashenko
and Emre Turkay) who have recently contributing to the project that I
would like to thank, and also give the chance to get a bigger role in
the development of the library going forward.

So for now the focus is still to get a review-ready library for
inclusion in Boost that would be called Boost.Network. I think 0.9
will be ready in a couple of days and will be a the pre-1.0 snapshot
that will be submitted for review, getting all the required
documentation in place.

At this time I'm still looking for able and willing review managers.

Feedback would be most definitely appreciated.

-- 
Dean Michael Berris
http://about.me/deanberris

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk