asio C++ library

PrevUpHomeNext

posix::basic_stream_descriptor

Provides stream-oriented descriptor functionality.

template<
    typename Executor = any_io_executor>
class basic_stream_descriptor :
  public posix::basic_descriptor< any_io_executor >
Types

Name

Description

rebind_executor

Rebinds the descriptor type to another executor.

bytes_readable

IO control command to get the amount of data that can be read without blocking.

executor_type

The type of the executor associated with the object.

lowest_layer_type

A descriptor is always the lowest layer.

native_handle_type

The native representation of a descriptor.

wait_type

Wait types.

Member Functions

Name

Description

assign

Assign an existing native descriptor to the descriptor.

async_read_some

Start an asynchronous read.

async_wait

Asynchronously wait for the descriptor to become ready to read, ready to write, or to have pending error conditions.

async_write_some

Start an asynchronous write.

basic_stream_descriptor [constructor]

Construct a stream descriptor without opening it.

Construct a stream descriptor on an existing native descriptor.

Move-construct a stream descriptor from another.

Move-construct a basic_stream_descriptor from a descriptor of another executor type.

cancel

Cancel all asynchronous operations associated with the descriptor.

close

Close the descriptor.

get_executor

Get the executor associated with the object.

io_control

Perform an IO control command on the descriptor.

is_open

Determine whether the descriptor is open.

lowest_layer

Get a reference to the lowest layer.

Get a const reference to the lowest layer.

native_handle

Get the native descriptor representation.

native_non_blocking

Gets the non-blocking mode of the native descriptor implementation.

Sets the non-blocking mode of the native descriptor implementation.

non_blocking

Gets the non-blocking mode of the descriptor.

Sets the non-blocking mode of the descriptor.

operator=

Move-assign a stream descriptor from another.

Move-assign a basic_stream_descriptor from a descriptor of another executor type.

read_some

Read some data from the descriptor.

release

Release ownership of the native descriptor implementation.

wait

Wait for the descriptor to become ready to read, ready to write, or to have pending error conditions.

write_some

Write some data to the descriptor.

The posix::basic_stream_descriptor class template provides asynchronous and blocking stream-oriented descriptor functionality.

Thread Safety

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.

Requirements

Header: asio/posix/basic_stream_descriptor.hpp

Convenience header: asio.hpp


PrevUpHomeNext