| Home | Libraries | People | FAQ | More

# Boost.Asio Design Index

Some design notes:

- Glossary: Defines some terms used in the design and implementation of Boost.Asio.

- Proactor: The Boost.Asio library is based on the Proactor pattern. This design note outlines the advantages and disadvantages of this approach.

- 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.

- Services: This design note describes the pattern used for structuring asynchronous object implementation.

- Handlers: All asynchronous operations take a function object that will be called when the operation completes. This design note outlines the reasons for making the this handler type a template parameter, rather than using boost::function.

- Close as Cancel: Asynchronous socket operations can be cancelled by closing the socket. This design note describes why this approach was selected rather than allowing individual operations to be cancelled.

- Buffers: This design note examines the buffer abstraction used by Boost.Asio in order to support scatter-gather operations.

- 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.

| Copyright © 2003 - 2006 Christopher M. Kohlhoff