|
Boost : |
From: Jeff Garland (jeff_at_[hidden])
Date: 2005-12-22 20:53:28
Thanks to everyone for the excellent reviews and discussions of asio! Some
folks want additional time for the asio review, so the review will be extended
until Dec 30th. Note that Chrisopher may not be able to respond to posts
during a significant part of this time due to holiday commitments, but the
feedback will eventually be addressed and discussed.
In the way of reminder, here's the library details again:
Today (Dec 22nd) is the first continuation of the formal review of the
Asynchronous I/O library (asio) library by Christopher Kohlhoff. The review
will run be extended until Friday December 30th. I will be serving as review
manager.
From the library synopsis:
Boost.Asio is a cross-platform C++ library for network programming that
provides developers with a consistent asynchronous I/O model using a
modern C++ approach.
Downloads of the library as well as online documentation can be found at:
http://asio.sourceforge.net/
http://asio.sourceforge.net/boost-asio-proposal-0.3.6/libs/asio/doc/
As usual, please state in review comments how you reviewed the library
and whether the you think the library should be accepted into Boost.
Further guidelines for writing reviews can be found on the website at:
http://www.boost.org/more/formal_review_process.htm#Comments
Please review early and often!
Thanks,
Jeff
*******************************************************
A Few Library Details:
*******************************************************
Supported Platforms
The following platforms and compilers have been tested:
* Win32 using Visual C++ 7.1 and Visual C++ 8.0.
* Win32 using Borland C++Builder 6 patch 4.
* Win32 using MinGW.
* Linux (2.4 or 2.6 kernels) using g++ 3.3 or later.
* Solaris using g++ 3.3 or later.
* Mac OS X 10.4 using g++ 3.3 or later.
Rationale
The Boost.Asio library is intended for programmers using C++ for systems
programming, where access to operating system functionality such as
networking is often required. In particular, Boost.Asio attempts to
address the following goals:
* Portability. The library should support, and provide consistent
behaviour across, a range of commonly used operating systems.
* Scalability. The library should allow, and indeed encourage, the
development of network applications that scale to hundreds or thousands
of concurrent connections. The library implementation for each operating
system should use the mechanism that best enables this scalability.
* Efficiency. The library should support techniques such as scatter-gather
I/O, and allow protocol implementations that minimise data copying.
* Model Berkeley sockets. The Berkeley sockets API is widely implemented
and understood, as well as being covered in much literature. Other programming
languages often use a similar interface for networking APIs.
* Ease of use. Lower the entry barrier for new users by taking a toolkit,
rather than framework, approach. That is, try to minimise the up-front
investment in time to just learning a few basic rules and guidelines. After
that, a library user should only need to understand the specific functions
that are being used.
* Basis for further abstraction. The library should permit the development
of other libraries that provide higher levels of abstraction. For example,
implementations of commonly used protocols such as HTTP.
Although the current incarnation of Boost.Asio focuses primarily on
networking, its concepts of asynchronous I/O can be extended to include
other operating system resources such as files.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk