$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: Jeff Garland (jeff_at_[hidden])
Date: 2005-12-09 22:10:57
I'm cross-posting this announcement to the user list as I expect that 
there will be high interest in this review.  Please post reviews on the 
developer list.
-------------
All -
Today (Dec 10th) is the start of the format review of the Asynchronous 
I/O library (asio) library by Christopher Kohlhoff. The review will run 
until Friday December 23rd.  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/      (please refresh the page if you don't 
see "Boost Review Material" at the top)
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.