Towards a Boost.Network proposal

Fellow Boosters, 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 folder. 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

pedro.lamarao@mndfck.org wrote:
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.
Re-reading the previous threads, I found out that the first time I read about the "listener initializer" idea was from Simon Ritcher here: http://article.gmane.org/gmane.comp.lib.boost.devel/125680 I'm sorry for "stealing" the idea like this, but at the time it occurred to me, I didn't realize where it came from. I've never seen this myself anywhere, and thought about it while "rewriting" the code for the Boost Sandbox preliminary proposal. So, the credit for this listener design goes to Simon; I *really* like it. -- Pedro Lamarão Desenvolvimento Intersix Technologies S.A. SP: (55 11 3803-9300) RJ: (55 21 3852-3240) www.intersix.com.br Your Security is our Business

pedro.lamarao@mndfck.org wrote: [SNIP]
In the next days I'll concentrate in writing proper documentation.
I'm uploading updated versions of the documentation, as I write it more sections, here: http://mndfck.org/~pedro.lamarao/projects/boost_network/ There's a Tutorial section there now. -- Pedro Lamarão
participants (2)
-
Pedro Lamarão
-
pedro.lamarao@mndfck.org