Sometimes a program must be integrated with a third-party library that wants to perform the I/O operations itself. To facilitate this, Boost.Asio includes a null_buffers type that can be used with both read and write operations. A null_buffers operation doesn’t return until the I/O object is “ready” to perform the operation.
As an example, to perform a non-blocking read something like the following may be used:
These operations are supported for sockets on all platforms, and for the POSIX stream-oriented descriptor classes.