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

Reference | Class Hierarchy | Class Index | Member Index

# asio::stream_socket_service< Protocol > Class Template Reference

Inherits asio::io_service::service.

Inheritance diagram for asio::stream_socket_service< Protocol >:

List of all members.

## Detailed Description

### template<typename Protocol>
class asio::stream_socket_service< Protocol >

Default service implementation for a stream socket.

## Public Types

typedef Protocol | protocol_type
| The protocol type.
typedef Protocol::endpoint | endpoint_type
| The endpoint type.
typedef implementation_defined | implementation_type
| The type of a stream socket implementation.
typedef implementation_defined | native_type
| The native socket type.

## Public Member Functions

| stream_socket_service (asio::io_service &io_service)
| Construct a new stream socket service for the specified io_service.
void | shutdown_service ()
| Destroy all user-defined handler objects owned by the service.
void | construct (implementation_type &impl)
| Construct a new stream socket implementation.
void | destroy (implementation_type &impl)
| Destroy a stream socket implementation.
asio::error_code | open (implementation_type &impl, const protocol_type &protocol, asio::error_code &ec)
| Open a stream socket.
asio::error_code | assign (implementation_type &impl, const protocol_type &protocol, const native_type &native_socket, asio::error_code &ec)
| Assign an existing native socket to a stream socket.
bool | is_open (const implementation_type &impl) const
| Determine whether the socket is open.
asio::error_code | close (implementation_type &impl, asio::error_code &ec)
| Close a stream socket implementation.
native_type | native (implementation_type &impl)
| Get the native socket implementation.
asio::error_code | cancel (implementation_type &impl, asio::error_code &ec)
| Cancel all asynchronous operations associated with the socket.
bool | at_mark (const implementation_type &impl, asio::error_code &ec) const
| Determine whether the socket is at the out-of-band data mark.
std::size_t | available (const implementation_type &impl, asio::error_code &ec) const
| Determine the number of bytes available for reading.
asio::error_code | bind (implementation_type &impl, const endpoint_type &endpoint, asio::error_code &ec)
| Bind the stream socket to the specified local endpoint.
asio::error_code | connect (implementation_type &impl, const endpoint_type &peer_endpoint, asio::error_code &ec)
| Connect the stream socket to the specified endpoint.
template<typename ConnectHandler>
void | async_connect (implementation_type &impl, const endpoint_type &peer_endpoint, ConnectHandler handler)
| Start an asynchronous connect.
template<typename SettableSocketOption>
asio::error_code | set_option (implementation_type &impl, const SettableSocketOption &option, asio::error_code &ec)
| Set a socket option.
template<typename GettableSocketOption>
asio::error_code | get_option (const implementation_type &impl, GettableSocketOption &option, asio::error_code &ec) const
| Get a socket option.
template<typename IoControlCommand>
asio::error_code | io_control (implementation_type &impl, IoControlCommand &command, asio::error_code &ec)
| Perform an IO control command on the socket.
endpoint_type | local_endpoint (const implementation_type &impl, asio::error_code &ec) const
| Get the local endpoint.
endpoint_type | remote_endpoint (const implementation_type &impl, asio::error_code &ec) const
| Get the remote endpoint.
asio::error_code | shutdown (implementation_type &impl, socket_base::shutdown_type what, asio::error_code &ec)
| Disable sends or receives on the socket.
template<typename ConstBufferSequence>
std::size_t | send (implementation_type &impl, const ConstBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
| Send the given data to the peer.
template<typename ConstBufferSequence, typename WriteHandler>
void | async_send (implementation_type &impl, const ConstBufferSequence &buffers, socket_base::message_flags flags, WriteHandler handler)
| Start an asynchronous send.
template<typename MutableBufferSequence>
std::size_t | receive (implementation_type &impl, const MutableBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
| Receive some data from the peer.
template<typename MutableBufferSequence, typename ReadHandler>
void | async_receive (implementation_type &impl, const MutableBufferSequence &buffers, socket_base::message_flags flags, ReadHandler handler)
| Start an asynchronous receive.
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

template<typename Protocol>

typedef Protocol asio::stream_socket_service< Protocol >::protocol_type

The protocol type.

template<typename Protocol>

typedef Protocol::endpoint asio::stream_socket_service< Protocol >::endpoint_type

The endpoint type.

template<typename Protocol>

typedef implementation_defined asio::stream_socket_service< Protocol >::implementation_type

The type of a stream socket implementation.

template<typename Protocol>

typedef implementation_defined asio::stream_socket_service< Protocol >::native_type

The native socket type.

## Constructor & Destructor Documentation

template<typename Protocol>

asio::stream_socket_service< Protocol >::stream_socket_service | ( | asio::io_service & | io_service | ) | `[explicit]`

Construct a new stream socket service for the specified io_service.

## Member Function Documentation

template<typename Protocol>

void asio::stream_socket_service< Protocol >::shutdown_service | ( |  | ) | `[virtual]`

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

Implements asio::io_service::service.

template<typename Protocol>

void asio::stream_socket_service< Protocol >::construct | ( | implementation_type & | impl | ) |

Construct a new stream socket implementation.

template<typename Protocol>

void asio::stream_socket_service< Protocol >::destroy | ( | implementation_type & | impl | ) |

Destroy a stream socket implementation.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::open | ( | implementation_type & | impl,
|  | const protocol_type & | protocol,
|  | asio::error_code & | ec |
| ) |  |  |

Open a stream socket.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::assign | ( | implementation_type & | impl,
|  | const protocol_type & | protocol,
|  | const native_type & | native_socket,
|  | asio::error_code & | ec |
| ) |  |  |

Assign an existing native socket to a stream socket.

template<typename Protocol>

bool asio::stream_socket_service< Protocol >::is_open | ( | const implementation_type & | impl | ) | const

Determine whether the socket is open.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::close | ( | implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  |

Close a stream socket implementation.

template<typename Protocol>

native_type asio::stream_socket_service< Protocol >::native | ( | implementation_type & | impl | ) |

Get the native socket implementation.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::cancel | ( | implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  |

Cancel all asynchronous operations associated with the socket.

template<typename Protocol>

bool asio::stream_socket_service< Protocol >::at_mark | ( | const implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  | const

Determine whether the socket is at the out-of-band data mark.

template<typename Protocol>

std::size_t asio::stream_socket_service< Protocol >::available | ( | const implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  | const

Determine the number of bytes available for reading.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::bind | ( | implementation_type & | impl,
|  | const endpoint_type & | endpoint,
|  | asio::error_code & | ec |
| ) |  |  |

Bind the stream socket to the specified local endpoint.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::connect | ( | implementation_type & | impl,
|  | const endpoint_type & | peer_endpoint,
|  | asio::error_code & | ec |
| ) |  |  |

Connect the stream socket to the specified endpoint.

template<typename Protocol>
template<typename ConnectHandler>

void asio::stream_socket_service< Protocol >::async_connect | ( | implementation_type & | impl,
|  | const endpoint_type & | peer_endpoint,
|  | ConnectHandler | handler |
| ) |  |  |

Start an asynchronous connect.

template<typename Protocol>
template<typename SettableSocketOption>

asio::error_code asio::stream_socket_service< Protocol >::set_option | ( | implementation_type & | impl,
|  | const SettableSocketOption & | option,
|  | asio::error_code & | ec |
| ) |  |  |

Set a socket option.

template<typename Protocol>
template<typename GettableSocketOption>

asio::error_code asio::stream_socket_service< Protocol >::get_option | ( | const implementation_type & | impl,
|  | GettableSocketOption & | option,
|  | asio::error_code & | ec |
| ) |  |  | const

Get a socket option.

template<typename Protocol>
template<typename IoControlCommand>

asio::error_code asio::stream_socket_service< Protocol >::io_control | ( | implementation_type & | impl,
|  | IoControlCommand & | command,
|  | asio::error_code & | ec |
| ) |  |  |

Perform an IO control command on the socket.

template<typename Protocol>

endpoint_type asio::stream_socket_service< Protocol >::local_endpoint | ( | const implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  | const

Get the local endpoint.

template<typename Protocol>

endpoint_type asio::stream_socket_service< Protocol >::remote_endpoint | ( | const implementation_type & | impl,
|  | asio::error_code & | ec |
| ) |  |  | const

Get the remote endpoint.

template<typename Protocol>

asio::error_code asio::stream_socket_service< Protocol >::shutdown | ( | implementation_type & | impl,
|  | socket_base::shutdown_type | what,
|  | asio::error_code & | ec |
| ) |  |  |

Disable sends or receives on the socket.

template<typename Protocol>
template<typename ConstBufferSequence>

std::size_t asio::stream_socket_service< Protocol >::send | ( | implementation_type & | impl,
|  | const ConstBufferSequence & | buffers,
|  | socket_base::message_flags | flags,
|  | asio::error_code & | ec |
| ) |  |  |

Send the given data to the peer.

template<typename Protocol>
template<typename ConstBufferSequence, typename WriteHandler>

void asio::stream_socket_service< Protocol >::async_send | ( | implementation_type & | impl,
|  | const ConstBufferSequence & | buffers,
|  | socket_base::message_flags | flags,
|  | WriteHandler | handler |
| ) |  |  |

Start an asynchronous send.

template<typename Protocol>
template<typename MutableBufferSequence>

std::size_t asio::stream_socket_service< Protocol >::receive | ( | implementation_type & | impl,
|  | const MutableBufferSequence & | buffers,
|  | socket_base::message_flags | flags,
|  | asio::error_code & | ec |
| ) |  |  |

Receive some data from the peer.

template<typename Protocol>
template<typename MutableBufferSequence, typename ReadHandler>

void asio::stream_socket_service< Protocol >::async_receive | ( | implementation_type & | impl,
|  | const MutableBufferSequence & | buffers,
|  | socket_base::message_flags | flags,
|  | ReadHandler | handler |
| ) |  |  |

Start an asynchronous receive.

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

Get the io_service object that owns the service.

## Member Data Documentation

template<typename Protocol>

asio::io_service::id asio::stream_socket_service< Protocol >::id`[static]`

The unique service identifier.

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