The core object of the
Boost::Asio namespace is
io_service. The I/O service is a channel that is used to access operating system resources and establish communication between our program and the operating system that performs I/O requests. There is also an I/O object that has the role of submitting I/O requests. For instance, the
tcp::socket object will provide a socket programming request from our program to the operating system.
One of the most frequently used functions in the I/O service object is the
run() function. It is used to run the
io_service object's event processing loop. It will block the next statement program until all the work in the