Asynchronous Programming Using Boost.Asio
Boost.Asio is a C++ library included in the well-known Boost libraries family that simplifies the development of solutions dealing with asynchronous input/output (I/O) tasks managed by the operating system (OS), making it easier to develop asynchronous software that deals with internal and external resources, such as network communications services or file operations.
For that purpose, Boost.Asio defines OS services (services belonging to and managed by the OS), I/O objects (providing interfaces to OS services), and the I/O execution context object (an object that behaves as a services registry and proxy).
In the following pages, we will introduce Boost.Asio, describe its main building blocks, and explain some common patterns to develop asynchronous software with this library, which are widely used in the industry.
In this chapter, we’re going to cover the following main topics:
- What Boost.Asio is and how it simplifies...