asio 0.3.7 Home | Reference | Tutorial | Examples | Design
Reference Class Hierarchy | Class Index | Member Index

asio::ssl::stream_service Class Reference

Inherits asio::io_service::service.

Inheritance diagram for asio::ssl::stream_service:

Inheritance graph
List of all members.

Detailed Description

Default service implementation for an SSL stream.


Public Types

typedef implementation_defined impl_type
 The type of a stream implementation.

Public Member Functions

 stream_service (asio::io_service &io_service)
 Construct a new stream service for the specified io_service.
void shutdown_service ()
 Destroy all user-defined handler objects owned by the service.
impl_type null () const
 Return a null stream implementation.
template<typename Stream, typename Context_Service>
void create (impl_type &impl, Stream &next_layer, basic_context< Context_Service > &context)
 Create a new stream implementation.
template<typename Stream>
void destroy (impl_type &impl, Stream &next_layer)
 Destroy a stream implementation.
template<typename Stream, typename Error_Handler>
void handshake (impl_type &impl, Stream &next_layer, stream_base::handshake_type type, Error_Handler error_handler)
 Perform SSL handshaking.
template<typename Stream, typename Handler>
void async_handshake (impl_type &impl, Stream &next_layer, stream_base::handshake_type type, Handler handler)
 Start an asynchronous SSL handshake.
template<typename Stream, typename Error_Handler>
void shutdown (impl_type &impl, Stream &next_layer, Error_Handler error_handler)
 Shut down SSL on the stream.
template<typename Stream, typename Handler>
void async_shutdown (impl_type &impl, Stream &next_layer, Handler handler)
 Asynchronously shut down SSL on the stream.
template<typename Stream, typename Const_Buffers, typename Error_Handler>
std::size_t write_some (impl_type &impl, Stream &next_layer, const Const_Buffers &buffers, Error_Handler error_handler)
 Write some data to the stream.
template<typename Stream, typename Const_Buffers, typename Handler>
void async_write_some (impl_type &impl, Stream &next_layer, const Const_Buffers &buffers, Handler handler)
 Start an asynchronous write.
template<typename Stream, typename Mutable_Buffers, typename Error_Handler>
std::size_t read_some (impl_type &impl, Stream &next_layer, const Mutable_Buffers &buffers, Error_Handler error_handler)
 Read some data from the stream.
template<typename Stream, typename Mutable_Buffers, typename Handler>
void async_read_some (impl_type &impl, Stream &next_layer, const Mutable_Buffers &buffers, Handler handler)
 Start an asynchronous read.
template<typename Stream, typename Mutable_Buffers, typename Error_Handler>
std::size_t peek (impl_type &impl, Stream &next_layer, const Mutable_Buffers &buffers, Error_Handler error_handler)
 Peek at the incoming data on the stream.
template<typename Stream, typename Error_Handler>
std::size_t in_avail (impl_type &impl, Stream &next_layer, Error_Handler error_handler)
 Determine the amount of data that may be read without blocking.
io_serviceowner ()
 Get the io_service object that owns the service.


Member Typedef Documentation

typedef implementation_defined asio::ssl::stream_service::impl_type

The type of a stream implementation.


Constructor & Destructor Documentation

asio::ssl::stream_service::stream_service ( asio::io_service io_service  )  [explicit]

Construct a new stream service for the specified io_service.


Member Function Documentation

void asio::ssl::stream_service::shutdown_service (  )  [virtual]

Destroy all user-defined handler objects owned by the service.

Implements asio::io_service::service.

impl_type asio::ssl::stream_service::null (  )  const

Return a null stream implementation.

template<typename Stream, typename Context_Service>
void asio::ssl::stream_service::create ( impl_type impl,
Stream next_layer,
basic_context< Context_Service > &  context 
)

Create a new stream implementation.

template<typename Stream>
void asio::ssl::stream_service::destroy ( impl_type impl,
Stream next_layer 
)

Destroy a stream implementation.

template<typename Stream, typename Error_Handler>
void asio::ssl::stream_service::handshake ( impl_type impl,
Stream next_layer,
stream_base::handshake_type  type,
Error_Handler  error_handler 
)

Perform SSL handshaking.

template<typename Stream, typename Handler>
void asio::ssl::stream_service::async_handshake ( impl_type impl,
Stream next_layer,
stream_base::handshake_type  type,
Handler  handler 
)

Start an asynchronous SSL handshake.

template<typename Stream, typename Error_Handler>
void asio::ssl::stream_service::shutdown ( impl_type impl,
Stream next_layer,
Error_Handler  error_handler 
)

Shut down SSL on the stream.

template<typename Stream, typename Handler>
void asio::ssl::stream_service::async_shutdown ( impl_type impl,
Stream next_layer,
Handler  handler 
)

Asynchronously shut down SSL on the stream.

template<typename Stream, typename Const_Buffers, typename Error_Handler>
std::size_t asio::ssl::stream_service::write_some ( impl_type impl,
Stream next_layer,
const Const_Buffers buffers,
Error_Handler  error_handler 
)

Write some data to the stream.

template<typename Stream, typename Const_Buffers, typename Handler>
void asio::ssl::stream_service::async_write_some ( impl_type impl,
Stream next_layer,
const Const_Buffers buffers,
Handler  handler 
)

Start an asynchronous write.

template<typename Stream, typename Mutable_Buffers, typename Error_Handler>
std::size_t asio::ssl::stream_service::read_some ( impl_type impl,
Stream next_layer,
const Mutable_Buffers buffers,
Error_Handler  error_handler 
)

Read some data from the stream.

template<typename Stream, typename Mutable_Buffers, typename Handler>
void asio::ssl::stream_service::async_read_some ( impl_type impl,
Stream next_layer,
const Mutable_Buffers buffers,
Handler  handler 
)

Start an asynchronous read.

template<typename Stream, typename Mutable_Buffers, typename Error_Handler>
std::size_t asio::ssl::stream_service::peek ( impl_type impl,
Stream next_layer,
const Mutable_Buffers buffers,
Error_Handler  error_handler 
)

Peek at the incoming data on the stream.

template<typename Stream, typename Error_Handler>
std::size_t asio::ssl::stream_service::in_avail ( impl_type impl,
Stream next_layer,
Error_Handler  error_handler 
)

Determine the amount of data that may be read without blocking.

io_service & asio::io_service::service::owner (  )  [inherited]

Get the io_service object that owns the service.

asio 0.3.7 Home | Reference | Tutorial | Examples | Design