asio 0.3.8rc3 Home | Reference | Tutorial | Examples | Design
Reference Class Hierarchy | Class Index | Member Index

asio::ssl::stream_service Class Reference

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>
asio::error_code handshake (impl_type &impl, Stream &next_layer, stream_base::handshake_type type, asio::error_code &ec)
 Perform SSL handshaking.
template<typename Stream, typename HandshakeHandler>
void async_handshake (impl_type &impl, Stream &next_layer, stream_base::handshake_type type, HandshakeHandler handler)
 Start an asynchronous SSL handshake.
template<typename Stream>
asio::error_code shutdown (impl_type &impl, Stream &next_layer, asio::error_code &ec)
 Shut down SSL on the stream.
template<typename Stream, typename ShutdownHandler>
void async_shutdown (impl_type &impl, Stream &next_layer, ShutdownHandler handler)
 Asynchronously shut down SSL on the stream.
template<typename Stream, typename ConstBufferSequence>
std::size_t write_some (impl_type &impl, Stream &next_layer, const ConstBufferSequence &buffers, asio::error_code &ec)
 Write some data to the stream.
template<typename Stream, typename ConstBufferSequence, typename WriteHandler>
void async_write_some (impl_type &impl, Stream &next_layer, const ConstBufferSequence &buffers, WriteHandler handler)
 Start an asynchronous write.
template<typename Stream, typename MutableBufferSequence>
std::size_t read_some (impl_type &impl, Stream &next_layer, const MutableBufferSequence &buffers, asio::error_code &ec)
 Read some data from the stream.
template<typename Stream, typename MutableBufferSequence, typename ReadHandler>
void async_read_some (impl_type &impl, Stream &next_layer, const MutableBufferSequence &buffers, ReadHandler handler)
 Start an asynchronous read.
template<typename Stream, typename MutableBufferSequence>
std::size_t peek (impl_type &impl, Stream &next_layer, const MutableBufferSequence &buffers, asio::error_code &ec)
 Peek at the incoming data on the stream.
template<typename Stream>
std::size_t in_avail (impl_type &impl, Stream &next_layer, asio::error_code &ec)
 Determine the amount of data that may be read without blocking.
asio::io_serviceio_service ()
 Get the io_service object that owns the service.

Static Public Attributes

static asio::io_service::id id
 The unique service identifier.

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>
asio::error_code asio::ssl::stream_service::handshake ( impl_type impl,
Stream &  next_layer,
stream_base::handshake_type  type,
asio::error_code ec 
)

Perform SSL handshaking.

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

Start an asynchronous SSL handshake.

template<typename Stream>
asio::error_code asio::ssl::stream_service::shutdown ( impl_type impl,
Stream &  next_layer,
asio::error_code ec 
)

Shut down SSL on the stream.

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

Asynchronously shut down SSL on the stream.

template<typename Stream, typename ConstBufferSequence>
std::size_t asio::ssl::stream_service::write_some ( impl_type impl,
Stream &  next_layer,
const ConstBufferSequence &  buffers,
asio::error_code ec 
)

Write some data to the stream.

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

Start an asynchronous write.

template<typename Stream, typename MutableBufferSequence>
std::size_t asio::ssl::stream_service::read_some ( impl_type impl,
Stream &  next_layer,
const MutableBufferSequence &  buffers,
asio::error_code ec 
)

Read some data from the stream.

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

Start an asynchronous read.

template<typename Stream, typename MutableBufferSequence>
std::size_t asio::ssl::stream_service::peek ( impl_type impl,
Stream &  next_layer,
const MutableBufferSequence &  buffers,
asio::error_code ec 
)

Peek at the incoming data on the stream.

template<typename Stream>
std::size_t asio::ssl::stream_service::in_avail ( impl_type impl,
Stream &  next_layer,
asio::error_code ec 
)

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

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

Get the io_service object that owns the service.


Member Data Documentation

asio::io_service::id asio::ssl::stream_service::id [static]

The unique service identifier.

asio 0.3.8rc3 Home | Reference | Tutorial | Examples | Design