Performs non-blocking I/O, suspending the current task to wait for the I/O
device to be ready if it would have blocked.
Because the most common case is using a TCP socket, one TCP-specific
facility (TCP Cork) is built into TaskSelectTransceiver. The simplicity,
convenience (it avoids a custom implementation for output buffering) and
frequency of use justifies having it in TaskSelectTransceiver rather than
a separate class or module.
Boost Software License Version 1.0. See LICENSE_BOOST.txt for details.
Alternatively, this file may be distributed under the terms of the Tango
3-Clause BSD License (see LICENSE_BSD.txt for details).
Performs non-blocking I/O, suspending the current task to wait for the I/O device to be ready if it would have blocked. Because the most common case is using a TCP socket, one TCP-specific facility (TCP Cork) is built into TaskSelectTransceiver. The simplicity, convenience (it avoids a custom implementation for output buffering) and frequency of use justifies having it in TaskSelectTransceiver rather than a separate class or module.