asio C++ library

PrevUpHomeNext

ssl::stream

Provides stream-oriented functionality using SSL.

template<
    typename Stream>
class stream :
  public ssl::stream_base,
  noncopyable
Types

Name

Description

impl_struct

Structure for use with deprecated impl_type.

executor_type

The type of the executor associated with the object.

handshake_type

Different handshake types.

lowest_layer_type

The type of the lowest layer.

native_handle_type

The native handle type of the SSL stream.

next_layer_type

The type of the next layer.

Member Functions

Name

Description

async_handshake

Start an asynchronous SSL handshake.

async_read_some

Start an asynchronous read.

async_shutdown

Asynchronously shut down SSL on the stream.

async_write_some

Start an asynchronous write.

get_executor

Get the executor associated with the object.

get_io_context

(Deprecated: Use get_executor().) Get the io_context associated with the object.

get_io_service

(Deprecated: Use get_executor().) Get the io_context associated with the object.

handshake

Perform SSL handshaking.

lowest_layer

Get a reference to the lowest layer.

native_handle

Get the underlying implementation in the native type.

next_layer

Get a reference to the next layer.

read_some

Read some data from the stream.

set_verify_callback

Set the callback used to verify peer certificates.

set_verify_depth

Set the peer verification depth.

set_verify_mode

Set the peer verification mode.

shutdown

Shut down SSL on the stream.

stream

Construct a stream.

write_some

Write some data to the stream.

~stream

Destructor.

The stream class template provides asynchronous and blocking stream-oriented functionality using SSL.

Thread Safety

Distinct objects: Safe.

Shared objects: Unsafe. The application must also ensure that all asynchronous operations are performed within the same implicit or explicit strand.

Example

To use the SSL stream template with an ip::tcp::socket, you would write:

asio::io_context io_context;
asio::ssl::context ctx(asio::ssl::context::sslv23);
asio::ssl::stream<asio:ip::tcp::socket> sock(io_context, ctx);
Requirements

Header: asio/ssl/stream.hpp

Convenience header: asio/ssl.hpp


PrevUpHomeNext