asio::detail::reactive_socket_service< Protocol, Reactor > Class Template Reference

#include <reactive_socket_service.hpp>

Inheritance diagram for asio::detail::reactive_socket_service< Protocol, Reactor >:

asio::detail::service_base< Type > asio::io_service::service

List of all members.

Public Types

enum  { max_buffers = 16 }
typedef Protocol protocol_type
typedef Protocol::endpoint endpoint_type
typedef socket_type native_type

Public Member Functions

 reactive_socket_service (asio::io_service &io_service)
void shutdown_service ()
 Destroy all user-defined handler objects owned by the service.
void construct (implementation_type &impl)
void destroy (implementation_type &impl)
asio::error_code open (implementation_type &impl, const protocol_type &protocol, asio::error_code &ec)
asio::error_code assign (implementation_type &impl, const protocol_type &protocol, const native_type &native_socket, asio::error_code &ec)
bool is_open (const implementation_type &impl) const
asio::error_code close (implementation_type &impl, asio::error_code &ec)
native_type native (implementation_type &impl)
asio::error_code cancel (implementation_type &impl, asio::error_code &ec)
bool at_mark (const implementation_type &impl, asio::error_code &ec) const
std::size_t available (const implementation_type &impl, asio::error_code &ec) const
asio::error_code bind (implementation_type &impl, const endpoint_type &endpoint, asio::error_code &ec)
asio::error_code listen (implementation_type &impl, int backlog, asio::error_code &ec)
template<typename Option>
asio::error_code set_option (implementation_type &impl, const Option &option, asio::error_code &ec)
template<typename Option>
asio::error_code get_option (const implementation_type &impl, Option &option, asio::error_code &ec) const
template<typename IO_Control_Command>
asio::error_code io_control (implementation_type &impl, IO_Control_Command &command, asio::error_code &ec)
endpoint_type local_endpoint (const implementation_type &impl, asio::error_code &ec) const
endpoint_type remote_endpoint (const implementation_type &impl, asio::error_code &ec) const
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>
size_t send (implementation_type &impl, const ConstBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
template<typename ConstBufferSequence, typename Handler>
void async_send (implementation_type &impl, const ConstBufferSequence &buffers, socket_base::message_flags flags, Handler handler)
template<typename ConstBufferSequence>
size_t send_to (implementation_type &impl, const ConstBufferSequence &buffers, const endpoint_type &destination, socket_base::message_flags flags, asio::error_code &ec)
template<typename ConstBufferSequence, typename Handler>
void async_send_to (implementation_type &impl, const ConstBufferSequence &buffers, const endpoint_type &destination, socket_base::message_flags flags, Handler handler)
template<typename MutableBufferSequence>
size_t receive (implementation_type &impl, const MutableBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
template<typename MutableBufferSequence, typename Handler>
void async_receive (implementation_type &impl, const MutableBufferSequence &buffers, socket_base::message_flags flags, Handler handler)
template<typename MutableBufferSequence>
size_t receive_from (implementation_type &impl, const MutableBufferSequence &buffers, endpoint_type &sender_endpoint, socket_base::message_flags flags, asio::error_code &ec)
template<typename MutableBufferSequence, typename Handler>
void async_receive_from (implementation_type &impl, const MutableBufferSequence &buffers, endpoint_type &sender_endpoint, socket_base::message_flags flags, Handler handler)
template<typename Socket>
asio::error_code accept (implementation_type &impl, Socket &peer, endpoint_type *peer_endpoint, asio::error_code &ec)
template<typename Socket, typename Handler>
void async_accept (implementation_type &impl, Socket &peer, endpoint_type *peer_endpoint, Handler handler)
asio::error_code connect (implementation_type &impl, const endpoint_type &peer_endpoint, asio::error_code &ec)
template<typename Handler>
void async_connect (implementation_type &impl, const endpoint_type &peer_endpoint, Handler handler)

Private Attributes

Reactor & reactor_

Classes

class  accept_handler
class  connect_handler
class  implementation_type
class  receive_from_handler
class  receive_handler
class  send_handler
class  send_to_handler


Detailed Description

template<typename Protocol, typename Reactor>
class asio::detail::reactive_socket_service< Protocol, Reactor >

Definition at line 39 of file reactive_socket_service.hpp.


Member Typedef Documentation

template<typename Protocol, typename Reactor>
typedef Protocol asio::detail::reactive_socket_service< Protocol, Reactor >::protocol_type

Definition at line 45 of file reactive_socket_service.hpp.

template<typename Protocol, typename Reactor>
typedef Protocol::endpoint asio::detail::reactive_socket_service< Protocol, Reactor >::endpoint_type

Definition at line 48 of file reactive_socket_service.hpp.

template<typename Protocol, typename Reactor>
typedef socket_type asio::detail::reactive_socket_service< Protocol, Reactor >::native_type

Definition at line 51 of file reactive_socket_service.hpp.


Member Enumeration Documentation

template<typename Protocol, typename Reactor>
anonymous enum

Enumerator:
max_buffers 

Definition at line 89 of file reactive_socket_service.hpp.


Constructor & Destructor Documentation

template<typename Protocol, typename Reactor>
asio::detail::reactive_socket_service< Protocol, Reactor >::reactive_socket_service ( asio::io_service io_service  )  [inline]

Definition at line 92 of file reactive_socket_service.hpp.


Member Function Documentation

template<typename Protocol, typename Reactor>
void asio::detail::reactive_socket_service< Protocol, Reactor >::shutdown_service (  )  [inline, virtual]

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

Implements asio::io_service::service.

Definition at line 100 of file reactive_socket_service.hpp.

template<typename Protocol, typename Reactor>
void asio::detail::reactive_socket_service< Protocol, Reactor >::construct ( implementation_type impl  )  [inline]

template<typename Protocol, typename Reactor>
void asio::detail::reactive_socket_service< Protocol, Reactor >::destroy ( implementation_type impl  )  [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::open ( implementation_type impl,
const protocol_type protocol,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::assign ( implementation_type impl,
const protocol_type protocol,
const native_type native_socket,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
bool asio::detail::reactive_socket_service< Protocol, Reactor >::is_open ( const implementation_type impl  )  const [inline]

Definition at line 196 of file reactive_socket_service.hpp.

References asio::detail::invalid_socket, and asio::detail::reactive_socket_service< Protocol, Reactor >::implementation_type::socket_.

Referenced by asio::detail::reactive_socket_service< Protocol, Reactor >::accept(), asio::detail::reactive_socket_service< Protocol, Reactor >::assign(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_accept(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_connect(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_receive(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_receive_from(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_send(), asio::detail::reactive_socket_service< Protocol, Reactor >::async_send_to(), asio::detail::reactive_socket_service< Protocol, Reactor >::at_mark(), asio::detail::reactive_socket_service< Protocol, Reactor >::available(), asio::detail::reactive_socket_service< Protocol, Reactor >::bind(), asio::detail::reactive_socket_service< Protocol, Reactor >::cancel(), asio::detail::reactive_socket_service< Protocol, Reactor >::close(), asio::detail::reactive_socket_service< Protocol, Reactor >::connect(), asio::detail::reactive_socket_service< Protocol, Reactor >::get_option(), asio::detail::reactive_socket_service< Protocol, Reactor >::io_control(), asio::stream_socket_service< Protocol >::is_open(), asio::socket_acceptor_service< Protocol >::is_open(), asio::datagram_socket_service< Protocol >::is_open(), asio::detail::reactive_socket_service< Protocol, Reactor >::listen(), asio::detail::reactive_socket_service< Protocol, Reactor >::local_endpoint(), asio::detail::reactive_socket_service< Protocol, Reactor >::open(), asio::detail::reactive_socket_service< Protocol, Reactor >::receive(), asio::detail::reactive_socket_service< Protocol, Reactor >::receive_from(), asio::detail::reactive_socket_service< Protocol, Reactor >::remote_endpoint(), asio::detail::reactive_socket_service< Protocol, Reactor >::send(), asio::detail::reactive_socket_service< Protocol, Reactor >::send_to(), asio::detail::reactive_socket_service< Protocol, Reactor >::set_option(), and asio::detail::reactive_socket_service< Protocol, Reactor >::shutdown().

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::close ( implementation_type impl,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
native_type asio::detail::reactive_socket_service< Protocol, Reactor >::native ( implementation_type impl  )  [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::cancel ( implementation_type impl,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
bool asio::detail::reactive_socket_service< Protocol, Reactor >::at_mark ( const implementation_type impl,
asio::error_code ec 
) const [inline]

template<typename Protocol, typename Reactor>
std::size_t asio::detail::reactive_socket_service< Protocol, Reactor >::available ( const implementation_type impl,
asio::error_code ec 
) const [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::bind ( implementation_type impl,
const endpoint_type endpoint,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::listen ( implementation_type impl,
int  backlog,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename Option>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::set_option ( implementation_type impl,
const Option &  option,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename Option>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::get_option ( const implementation_type impl,
Option &  option,
asio::error_code ec 
) const [inline]

template<typename Protocol, typename Reactor>
template<typename IO_Control_Command>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::io_control ( implementation_type impl,
IO_Control_Command &  command,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
endpoint_type asio::detail::reactive_socket_service< Protocol, Reactor >::local_endpoint ( const implementation_type impl,
asio::error_code ec 
) const [inline]

template<typename Protocol, typename Reactor>
endpoint_type asio::detail::reactive_socket_service< Protocol, Reactor >::remote_endpoint ( const implementation_type impl,
asio::error_code ec 
) const [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::shutdown ( implementation_type impl,
socket_base::shutdown_type  what,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename ConstBufferSequence>
size_t asio::detail::reactive_socket_service< Protocol, Reactor >::send ( implementation_type impl,
const ConstBufferSequence &  buffers,
socket_base::message_flags  flags,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename ConstBufferSequence, typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_send ( implementation_type impl,
const ConstBufferSequence &  buffers,
socket_base::message_flags  flags,
Handler  handler 
) [inline]

template<typename Protocol, typename Reactor>
template<typename ConstBufferSequence>
size_t asio::detail::reactive_socket_service< Protocol, Reactor >::send_to ( implementation_type impl,
const ConstBufferSequence &  buffers,
const endpoint_type destination,
socket_base::message_flags  flags,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename ConstBufferSequence, typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_send_to ( implementation_type impl,
const ConstBufferSequence &  buffers,
const endpoint_type destination,
socket_base::message_flags  flags,
Handler  handler 
) [inline]

template<typename Protocol, typename Reactor>
template<typename MutableBufferSequence>
size_t asio::detail::reactive_socket_service< Protocol, Reactor >::receive ( implementation_type impl,
const MutableBufferSequence &  buffers,
socket_base::message_flags  flags,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename MutableBufferSequence, typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_receive ( implementation_type impl,
const MutableBufferSequence &  buffers,
socket_base::message_flags  flags,
Handler  handler 
) [inline]

template<typename Protocol, typename Reactor>
template<typename MutableBufferSequence>
size_t asio::detail::reactive_socket_service< Protocol, Reactor >::receive_from ( implementation_type impl,
const MutableBufferSequence &  buffers,
endpoint_type sender_endpoint,
socket_base::message_flags  flags,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename MutableBufferSequence, typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_receive_from ( implementation_type impl,
const MutableBufferSequence &  buffers,
endpoint_type sender_endpoint,
socket_base::message_flags  flags,
Handler  handler 
) [inline]

template<typename Protocol, typename Reactor>
template<typename Socket>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::accept ( implementation_type impl,
Socket &  peer,
endpoint_type peer_endpoint,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename Socket, typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_accept ( implementation_type impl,
Socket &  peer,
endpoint_type peer_endpoint,
Handler  handler 
) [inline]

template<typename Protocol, typename Reactor>
asio::error_code asio::detail::reactive_socket_service< Protocol, Reactor >::connect ( implementation_type impl,
const endpoint_type peer_endpoint,
asio::error_code ec 
) [inline]

template<typename Protocol, typename Reactor>
template<typename Handler>
void asio::detail::reactive_socket_service< Protocol, Reactor >::async_connect ( implementation_type impl,
const endpoint_type peer_endpoint,
Handler  handler 
) [inline]


Member Data Documentation

template<typename Protocol, typename Reactor>
Reactor& asio::detail::reactive_socket_service< Protocol, Reactor >::reactor_ [private]


The documentation for this class was generated from the following file:

Generated on Sun May 25 00:21:32 2008 by  doxygen 1.5.6