| Home | Libraries | People | FAQ | More

### posix::basic_stream_descriptor

Provides stream-oriented descriptor functionality.

    template<
        typename StreamDescriptorService = stream_descriptor_service>
    class basic_stream_descriptor :
      public posix::basic_descriptor< StreamDescriptorService >

##### Types

Name | Description
--- | ---
bytes_readable | IO control command to get the amount of data that can be read without blocking.
implementation_type | The underlying implementation type of I/O object.
lowest_layer_type | A basic_descriptor is always the lowest layer.
native_handle_type | The native representation of a descriptor.
native_type | (Deprecated: Use native_handle_type.) The native representation of a descriptor.
non_blocking_io | (Deprecated: Use non_blocking().) IO control command to set the blocking mode of the descriptor.
service_type | The type of the service that will be used to provide I/O operations.

##### Member Functions

Name | Description
--- | ---
assign | Assign an existing native descriptor to the descriptor.
async_read_some | Start an asynchronous read.
async_write_some | Start an asynchronous write.
basic_stream_descriptor | Construct a basic_stream_descriptor without opening it. Construct a basic_stream_descriptor on an existing native descriptor. Move-construct a basic_stream_descriptor from another.
cancel | Cancel all asynchronous operations associated with the descriptor.
close | Close the descriptor.
get_io_service | Get the io_service 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 | (Deprecated: Use native_handle().) Get the native descriptor representation.
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 basic_stream_descriptor from another.
read_some | Read some data from the descriptor.
release | Release ownership of the native descriptor implementation.
write_some | Write some data to the descriptor.

##### Protected Member Functions

Name | Description
--- | ---
get_implementation | Get the underlying implementation of the I/O object.
get_service | Get the service associated with the I/O object.

##### Protected Data Members

Name | Description
--- | ---
implementation | (Deprecated: Use get_implementation().) The underlying implementation of the I/O object.
service | (Deprecated: Use get_service().) The service associated with the I/O object.

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

##### Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe.

##### Requirements

Header: `boost/asio/posix/basic_stream_descriptor.hpp`

Convenience header: `boost/asio.hpp`