...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Typedef for the typical usage of a stream-oriented descriptor.
typedef basic_stream_descriptor stream_descriptor;
Name |
Description |
---|---|
Rebinds the descriptor type to another executor. |
|
IO control command to get the amount of data that can be read without blocking. |
|
The type of the executor associated with the object. |
|
A descriptor is always the lowest layer. |
|
The native representation of a descriptor. |
|
Wait types. |
Name |
Description |
---|---|
Assign an existing native descriptor to the descriptor. |
|
Start an asynchronous read. |
|
Asynchronously wait for the descriptor to become ready to read, ready to write, or to have pending error conditions. |
|
Start an asynchronous write. |
|
basic_stream_descriptor [constructor] |
Construct a stream descriptor without opening it. |
Cancel all asynchronous operations associated with the descriptor. |
|
Close the descriptor. |
|
Get the executor associated with the object. |
|
Perform an IO control command on the descriptor. |
|
Determine whether the descriptor is open. |
|
Get a reference to the lowest layer. |
|
Get the native descriptor representation. |
|
Gets the non-blocking mode of the native descriptor implementation.
|
|
Gets the non-blocking mode of the descriptor. |
|
Move-assign a stream descriptor from another. |
|
Read some data from the descriptor. |
|
Release ownership of the native descriptor implementation. |
|
Wait for the descriptor to become ready to read, ready to write, or to have pending error conditions. |
|
Write some data to the descriptor. |
The posix::basic_stream_descriptor
class template
provides asynchronous and blocking stream-oriented descriptor functionality.
Distinct objects: Safe.
Shared objects: Unsafe.
Synchronous read_some
and
write_some
operations are
thread safe with respect to each other, if the underlying operating system
calls are also thread safe. This means that it is permitted to perform concurrent
calls to these synchronous operations on a single descriptor object. Other
synchronous operations, such as close
,
are not thread safe.
Header: boost/asio/posix/stream_descriptor.hpp
Convenience header: boost/asio.hpp