[/
 / Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com)
 /
 / Distributed under the Boost Software License, Version 1.0. (See accompanying
 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 /]

[section:rationale Rationale]

Most programs interact with the outside world in some way, whether it be via a
file, a network, a serial cable, or the console. Sometimes, as is the case with
networking, individual I/O operations can take a long time to complete. This
poses particular challenges to application development.

Boost.Asio provides the tools to manage these long running operations, without
requiring programs to use concurrency models based on threads and explicit
locking.

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 addresses the following goals:

* [*Portability.] The library should support a range of commonly used operating
systems, and provide consistent behaviour across these operating systems.

* [*Scalability.] The library should facilitate the development of network
applications that scale to 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 programs to minimise data copying.

* [*Model concepts from established APIs, such as BSD sockets.] The
BSD socket API is widely implemented and understood, and is covered in much
literature. Other programming languages often use a similar interface for
networking APIs. As far as is reasonable, Boost.Asio should leverage existing
practice.

* [*Ease of use.] The library should provide a lower entry barrier for new
users by taking a toolkit, rather than framework, approach. That is, it should
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 Boost.Asio started life focused primarily on networking, its concepts of
asynchronous I/O have been extended to include other operating system resources
such as serial ports, file descriptors, and so on.

[endsect]
