Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is an old version of boost. Click here for the latest version's documentation home page.
PrevUpHomeNext

Design Notes

Rationale

Design rationale for the Boost.Asio library.

Asynchronous operations

Support for asynchronous operations in the Boost.Asio library is based on the Proactor pattern. This design note outlines the advantages and disadvantages of this approach.

Custom memory allocation

Describes the custom memory allocation support in Boost.Asio.

Buffers

Examines the buffer abstraction used by asio in order to support scatter-gather operations.

Why EOF is an error

Discusses why the end-of-file condition should be an error code.

Line-based protocols

Outlines Boost.Asio's support for line-based protocols.

Threads

An implementation of Boost.Asio for a particular platform may make use of one or more additional threads to emulate asynchronicity. This design note discusses design rules applied to the use of threads in this way.

Strands

Describes the "strand" abstraction provided by Boost.Asio to ease concurrent programming and provide scalability across multiple processors.

Platform-specific implementation

This design note lists platform-specific implementation details, such as the default demultiplexing mechanism, the number of threads created internally, and when threads are created.


PrevUpHomeNext