asio 0.3.8rc3 | 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:

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_service & | io_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