Realistic 3D camera system
3D camera system components
Public Types | Public Member Functions | Public Attributes | List of all members
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService > Class Template Reference

Provides sequenced packet socket functionality. More...

#include <basic_seq_packet_socket.hpp>

Inheritance diagram for asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >:
asio::basic_socket< Protocol, SeqPacketSocketService > asio::basic_io_object< SeqPacketSocketService > asio::socket_base

Public Types

typedef SeqPacketSocketService::native_handle_type native_type
 
typedef SeqPacketSocketService::native_handle_type native_handle_type
 The native representation of a socket. More...
 
typedef Protocol protocol_type
 The protocol type. More...
 
typedef Protocol::endpoint endpoint_type
 The endpoint type. More...
 
- Public Types inherited from asio::basic_socket< Protocol, SeqPacketSocketService >
typedef SeqPacketSocketService::native_handle_type native_type
 
typedef SeqPacketSocketService::native_handle_type native_handle_type
 The native representation of a socket. More...
 
typedef Protocol protocol_type
 The protocol type. More...
 
typedef Protocol::endpoint endpoint_type
 The endpoint type. More...
 
typedef basic_socket< Protocol, SeqPacketSocketService > lowest_layer_type
 A basic_socket is always the lowest layer. More...
 
- Public Types inherited from asio::basic_io_object< SeqPacketSocketService >
typedef SeqPacketSocketService service_type
 The type of the service that will be used to provide I/O operations. More...
 
typedef service_type::implementation_type implementation_type
 The underlying implementation type of I/O object. More...
 
- Public Types inherited from asio::socket_base
enum  shutdown_type { shutdown_receive = ASIO_OS_DEF(SHUT_RD), shutdown_send = ASIO_OS_DEF(SHUT_WR), shutdown_both = ASIO_OS_DEF(SHUT_RDWR) }
 Different ways a socket may be shutdown. More...
 
typedef int message_flags
 Bitmask type for flags that can be passed to send and receive operations. More...
 
typedef asio::detail::socket_option::boolean< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_BROADCAST)> broadcast
 Socket option to permit sending of broadcast messages. More...
 
typedef asio::detail::socket_option::boolean< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_DEBUG)> debug
 Socket option to enable socket-level debugging. More...
 
typedef asio::detail::socket_option::boolean< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_DONTROUTE)> do_not_route
 Socket option to prevent routing, use local interfaces only. More...
 
typedef asio::detail::socket_option::boolean< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_KEEPALIVE)> keep_alive
 Socket option to send keep-alives. More...
 
typedef asio::detail::socket_option::integer< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_SNDBUF)> send_buffer_size
 Socket option for the send buffer size of a socket. More...
 
typedef asio::detail::socket_option::integer< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_SNDLOWAT)> send_low_watermark
 Socket option for the send low watermark. More...
 
typedef asio::detail::socket_option::integer< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_RCVBUF)> receive_buffer_size
 Socket option for the receive buffer size of a socket. More...
 
typedef asio::detail::socket_option::integer< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_RCVLOWAT)> receive_low_watermark
 Socket option for the receive low watermark. More...
 
typedef asio::detail::socket_option::boolean< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_REUSEADDR)> reuse_address
 
typedef asio::detail::socket_option::linger< ASIO_OS_DEF(SOL_SOCKET), ASIO_OS_DEF(SO_LINGER)> linger
 
typedef asio::detail::socket_option::boolean< asio::detail::custom_socket_option_level, asio::detail::enable_connection_aborted_optionenable_connection_aborted
 Socket option to report aborted connections on accept. More...
 
typedef asio::detail::io_control::non_blocking_io non_blocking_io
 
typedef asio::detail::io_control::bytes_readable bytes_readable
 

Public Member Functions

 basic_seq_packet_socket (asio::io_service &io_service)
 Construct a basic_seq_packet_socket without opening it. More...
 
 basic_seq_packet_socket (asio::io_service &io_service, const protocol_type &protocol)
 Construct and open a basic_seq_packet_socket. More...
 
 basic_seq_packet_socket (asio::io_service &io_service, const endpoint_type &endpoint)
 
 basic_seq_packet_socket (asio::io_service &io_service, const protocol_type &protocol, const native_handle_type &native_socket)
 Construct a basic_seq_packet_socket on an existing native socket. More...
 
template<typename ConstBufferSequence >
std::size_t send (const ConstBufferSequence &buffers, socket_base::message_flags flags)
 Send some data on the socket. More...
 
template<typename ConstBufferSequence >
std::size_t send (const ConstBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
 Send some data on the socket. More...
 
template<typename ConstBufferSequence , typename WriteHandler >
 ASIO_INITFN_RESULT_TYPE (WriteHandler, void(asio::error_code, std::size_t)) async_send(const ConstBufferSequence &buffers
 Start an asynchronous send. More...
 
socket_base::message_flags ASIO_MOVE_ARG (WriteHandler) handler)
 
template<typename MutableBufferSequence >
std::size_t receive (const MutableBufferSequence &buffers, socket_base::message_flags &out_flags)
 Receive some data on the socket. More...
 
template<typename MutableBufferSequence >
std::size_t receive (const MutableBufferSequence &buffers, socket_base::message_flags in_flags, socket_base::message_flags &out_flags)
 Receive some data on the socket. More...
 
template<typename MutableBufferSequence >
std::size_t receive (const MutableBufferSequence &buffers, socket_base::message_flags in_flags, socket_base::message_flags &out_flags, asio::error_code &ec)
 Receive some data on a connected socket. More...
 
template<typename MutableBufferSequence , typename ReadHandler >
 ASIO_INITFN_RESULT_TYPE (ReadHandler, void(asio::error_code, std::size_t)) async_receive(const MutableBufferSequence &buffers
 Start an asynchronous receive. More...
 
socket_base::message_flags ASIO_MOVE_ARG (ReadHandler) handler)
 
template<typename MutableBufferSequence , typename ReadHandler >
 ASIO_INITFN_RESULT_TYPE (ReadHandler, void(asio::error_code, std::size_t)) async_receive(const MutableBufferSequence &buffers
 Start an asynchronous receive. More...
 
socket_base::message_flags socket_base::message_flags ASIO_MOVE_ARG (ReadHandler) handler)
 
- Public Member Functions inherited from asio::basic_socket< Protocol, SeqPacketSocketService >
 basic_socket (asio::io_service &io_service)
 Construct a basic_socket without opening it. More...
 
 basic_socket (asio::io_service &io_service, const protocol_type &protocol)
 Construct and open a basic_socket. More...
 
 basic_socket (asio::io_service &io_service, const endpoint_type &endpoint)
 
 basic_socket (asio::io_service &io_service, const protocol_type &protocol, const native_handle_type &native_socket)
 Construct a basic_socket on an existing native socket. More...
 
lowest_layer_typelowest_layer ()
 Get a reference to the lowest layer. More...
 
const lowest_layer_typelowest_layer () const
 Get a const reference to the lowest layer. More...
 
void open (const protocol_type &protocol=protocol_type())
 Open the socket using the specified protocol. More...
 
asio::error_code open (const protocol_type &protocol, asio::error_code &ec)
 Open the socket using the specified protocol. More...
 
void assign (const protocol_type &protocol, const native_handle_type &native_socket)
 Assign an existing native socket to the socket. More...
 
asio::error_code assign (const protocol_type &protocol, const native_handle_type &native_socket, asio::error_code &ec)
 Assign an existing native socket to the socket. More...
 
bool is_open () const
 Determine whether the socket is open. More...
 
void close ()
 Close the socket. More...
 
asio::error_code close (asio::error_code &ec)
 Close the socket. More...
 
native_type native ()
 (Deprecated: Use native_handle().) Get the native socket representation. More...
 
native_handle_type native_handle ()
 Get the native socket representation. More...
 
void cancel ()
 Cancel all asynchronous operations associated with the socket. More...
 
asio::error_code cancel (asio::error_code &ec)
 Cancel all asynchronous operations associated with the socket. More...
 
bool at_mark () const
 Determine whether the socket is at the out-of-band data mark. More...
 
bool at_mark (asio::error_code &ec) const
 Determine whether the socket is at the out-of-band data mark. More...
 
std::size_t available () const
 Determine the number of bytes available for reading. More...
 
std::size_t available (asio::error_code &ec) const
 Determine the number of bytes available for reading. More...
 
void bind (const endpoint_type &endpoint)
 Bind the socket to the given local endpoint. More...
 
asio::error_code bind (const endpoint_type &endpoint, asio::error_code &ec)
 Bind the socket to the given local endpoint. More...
 
void connect (const endpoint_type &peer_endpoint)
 Connect the socket to the specified endpoint. More...
 
asio::error_code connect (const endpoint_type &peer_endpoint, asio::error_code &ec)
 Connect the socket to the specified endpoint. More...
 
 ASIO_INITFN_RESULT_TYPE (ConnectHandler, void(asio::error_code)) async_connect(const endpoint_type &peer_endpoint
 Start an asynchronous connect. More...
 
 ASIO_MOVE_ARG (ConnectHandler) handler)
 
void set_option (const SettableSocketOption &option)
 Set an option on the socket. More...
 
asio::error_code set_option (const SettableSocketOption &option, asio::error_code &ec)
 Set an option on the socket. More...
 
void get_option (GettableSocketOption &option) const
 Get an option from the socket. More...
 
asio::error_code get_option (GettableSocketOption &option, asio::error_code &ec) const
 Get an option from the socket. More...
 
void io_control (IoControlCommand &command)
 Perform an IO control command on the socket. More...
 
asio::error_code io_control (IoControlCommand &command, asio::error_code &ec)
 Perform an IO control command on the socket. More...
 
bool non_blocking () const
 Gets the non-blocking mode of the socket. More...
 
void non_blocking (bool mode)
 Sets the non-blocking mode of the socket. More...
 
asio::error_code non_blocking (bool mode, asio::error_code &ec)
 Sets the non-blocking mode of the socket. More...
 
bool native_non_blocking () const
 Gets the non-blocking mode of the native socket implementation. More...
 
void native_non_blocking (bool mode)
 Sets the non-blocking mode of the native socket implementation. More...
 
asio::error_code native_non_blocking (bool mode, asio::error_code &ec)
 Sets the non-blocking mode of the native socket implementation. More...
 
endpoint_type local_endpoint () const
 Get the local endpoint of the socket. More...
 
endpoint_type local_endpoint (asio::error_code &ec) const
 Get the local endpoint of the socket. More...
 
endpoint_type remote_endpoint () const
 Get the remote endpoint of the socket. More...
 
endpoint_type remote_endpoint (asio::error_code &ec) const
 Get the remote endpoint of the socket. More...
 
void shutdown (shutdown_type what)
 Disable sends or receives on the socket. More...
 
asio::error_code shutdown (shutdown_type what, asio::error_code &ec)
 Disable sends or receives on the socket. More...
 
- Public Member Functions inherited from asio::basic_io_object< SeqPacketSocketService >
asio::io_serviceget_io_service ()
 Get the io_service associated with the object. More...
 
- Public Member Functions inherited from asio::socket_base
 ASIO_STATIC_CONSTANT (int, message_peek=ASIO_OS_DEF(MSG_PEEK))
 
 ASIO_STATIC_CONSTANT (int, message_out_of_band=ASIO_OS_DEF(MSG_OOB))
 
 ASIO_STATIC_CONSTANT (int, message_do_not_route=ASIO_OS_DEF(MSG_DONTROUTE))
 
 ASIO_STATIC_CONSTANT (int, message_end_of_record=ASIO_OS_DEF(MSG_EOR))
 
 ASIO_STATIC_CONSTANT (int, max_connections=ASIO_OS_DEF(SOMAXCONN))
 The maximum length of the queue of pending incoming connections. More...
 

Public Attributes

socket_base::message_flags flags
 
socket_base::message_flagsout_flags
 
socket_base::message_flags in_flags
 
socket_base::message_flags socket_base::message_flagsout_flags
 

Additional Inherited Members

- Protected Member Functions inherited from asio::basic_socket< Protocol, SeqPacketSocketService >
 ~basic_socket ()
 Protected destructor to prevent deletion through this type. More...
 
- Protected Member Functions inherited from asio::basic_io_object< SeqPacketSocketService >
 basic_io_object (asio::io_service &io_service)
 Construct a basic_io_object. More...
 
 ~basic_io_object ()
 Protected destructor to prevent deletion through this type. More...
 
service_typeget_service ()
 Get the service associated with the I/O object. More...
 
const service_typeget_service () const
 Get the service associated with the I/O object. More...
 
implementation_typeget_implementation ()
 Get the underlying implementation of the I/O object. More...
 
const implementation_typeget_implementation () const
 Get the underlying implementation of the I/O object. More...
 
- Protected Member Functions inherited from asio::socket_base
 ~socket_base ()
 Protected destructor to prevent deletion through this type. More...
 
- Protected Attributes inherited from asio::basic_io_object< SeqPacketSocketService >
service_typeservice
 
implementation_type implementation
 

Detailed Description

template<typename Protocol, typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
class asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >

Provides sequenced packet socket functionality.

The basic_seq_packet_socket class template provides asynchronous and blocking sequenced packet socket functionality.

Thread Safety
Distinct objects: Safe.
Shared objects: Unsafe.

Definition at line 41 of file basic_seq_packet_socket.hpp.

Member Typedef Documentation

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
typedef Protocol::endpoint asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::endpoint_type

The endpoint type.

Definition at line 57 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
typedef SeqPacketSocketService::native_handle_type asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::native_handle_type

The native representation of a socket.

Definition at line 51 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
typedef SeqPacketSocketService::native_handle_type asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::native_type

(Deprecated: Use native_handle_type.) The native representation of a socket.

Definition at line 47 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
typedef Protocol asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::protocol_type

The protocol type.

Definition at line 54 of file basic_seq_packet_socket.hpp.

Constructor & Destructor Documentation

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::basic_seq_packet_socket ( asio::io_service io_service)
inlineexplicit

Construct a basic_seq_packet_socket without opening it.

This constructor creates a sequenced packet socket without opening it. The socket needs to be opened and then connected or accepted before data can be sent or received on it.

Parameters
io_serviceThe io_service object that the sequenced packet socket will use to dispatch handlers for any asynchronous operations performed on the socket.

Definition at line 69 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::basic_seq_packet_socket ( asio::io_service io_service,
const protocol_type protocol 
)
inline

Construct and open a basic_seq_packet_socket.

This constructor creates and opens a sequenced_packet socket. The socket needs to be connected or accepted before data can be sent or received on it.

Parameters
io_serviceThe io_service object that the sequenced packet socket will use to dispatch handlers for any asynchronous operations performed on the socket.
protocolAn object specifying protocol parameters to be used.
Exceptions
asio::system_errorThrown on failure.

Definition at line 88 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::basic_seq_packet_socket ( asio::io_service io_service,
const endpoint_type endpoint 
)
inline

Construct a basic_seq_packet_socket, opening it and binding it to the given local endpoint. This constructor creates a sequenced packet socket and automatically opens it bound to the specified endpoint on the local machine. The protocol used is the protocol associated with the given endpoint.

Parameters
io_serviceThe io_service object that the sequenced packet socket will use to dispatch handlers for any asynchronous operations performed on the socket.
endpointAn endpoint on the local machine to which the sequenced packet socket will be bound.
Exceptions
asio::system_errorThrown on failure.

Definition at line 110 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::basic_seq_packet_socket ( asio::io_service io_service,
const protocol_type protocol,
const native_handle_type native_socket 
)
inline

Construct a basic_seq_packet_socket on an existing native socket.

This constructor creates a sequenced packet socket object to hold an existing native socket.

Parameters
io_serviceThe io_service object that the sequenced packet socket will use to dispatch handlers for any asynchronous operations performed on the socket.
protocolAn object specifying protocol parameters to be used.
native_socketThe new underlying socket implementation.
Exceptions
asio::system_errorThrown on failure.

Definition at line 131 of file basic_seq_packet_socket.hpp.

Member Function Documentation

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename ConstBufferSequence , typename WriteHandler >
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_INITFN_RESULT_TYPE ( WriteHandler  ,
void(asio::error_code, std::size_t)   
) const

Start an asynchronous send.

This function is used to asynchronously send data on the sequenced packet socket. The function call always returns immediately.

Parameters
buffersOne or more data buffers to be sent on the socket. Although the buffers object may be copied as necessary, ownership of the underlying memory blocks is retained by the caller, which must guarantee that they remain valid until the handler is called.
flagsFlags specifying how the send call is to be made.
handlerThe handler to be called when the send operation completes. Copies will be made of the handler as required. The function signature of the handler must be:
void handler(
const asio::error_code& error, // Result of operation.
std::size_t bytes_transferred // Number of bytes sent.
);
Regardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using asio::io_service::post().
Example
To send a single data buffer use the asio::buffer function as follows:
socket.async_send(asio::buffer(data, size), 0, handler);
See the asio::buffer documentation for information on sending multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.
template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename MutableBufferSequence , typename ReadHandler >
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_INITFN_RESULT_TYPE ( ReadHandler  ,
void(asio::error_code, std::size_t)   
) const

Start an asynchronous receive.

This function is used to asynchronously receive data from the sequenced packet socket. The function call always returns immediately.

Parameters
buffersOne or more buffers into which the data will be received. Although the buffers object may be copied as necessary, ownership of the underlying memory blocks is retained by the caller, which must guarantee that they remain valid until the handler is called.
out_flagsOnce the asynchronous operation completes, contains flags associated with the received data. For example, if the socket_base::message_end_of_record bit is set then the received data marks the end of a record. The caller must guarantee that the referenced variable remains valid until the handler is called.
handlerThe handler to be called when the receive operation completes. Copies will be made of the handler as required. The function signature of the handler must be:
void handler(
const asio::error_code& error, // Result of operation.
std::size_t bytes_transferred // Number of bytes received.
);
Regardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using asio::io_service::post().
Example
To receive into a single data buffer use the asio::buffer function as follows:
socket.async_receive(asio::buffer(data, size), out_flags, handler);
See the asio::buffer documentation for information on receiving into multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.
template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename MutableBufferSequence , typename ReadHandler >
asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_INITFN_RESULT_TYPE ( ReadHandler  ,
void(asio::error_code, std::size_t)   
) const

Start an asynchronous receive.

This function is used to asynchronously receive data from the sequenced data socket. The function call always returns immediately.

Parameters
buffersOne or more buffers into which the data will be received. Although the buffers object may be copied as necessary, ownership of the underlying memory blocks is retained by the caller, which must guarantee that they remain valid until the handler is called.
in_flagsFlags specifying how the receive call is to be made.
out_flagsOnce the asynchronous operation completes, contains flags associated with the received data. For example, if the socket_base::message_end_of_record bit is set then the received data marks the end of a record. The caller must guarantee that the referenced variable remains valid until the handler is called.
handlerThe handler to be called when the receive operation completes. Copies will be made of the handler as required. The function signature of the handler must be:
void handler(
const asio::error_code& error, // Result of operation.
std::size_t bytes_transferred // Number of bytes received.
);
Regardless of whether the asynchronous operation completes immediately or not, the handler will not be invoked from within this function. Invocation of the handler will be performed in a manner equivalent to using asio::io_service::post().
Example
To receive into a single data buffer use the asio::buffer function as follows:
socket.async_receive(
asio::buffer(data, size),
0, out_flags, handler);
See the asio::buffer documentation for information on receiving into multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.
template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_MOVE_ARG ( WriteHandler  )
inline

Definition at line 318 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_MOVE_ARG ( ReadHandler  )
inline

Definition at line 490 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags socket_base::message_flags asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::ASIO_MOVE_ARG ( ReadHandler  )
inline

Definition at line 549 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename MutableBufferSequence >
std::size_t asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::receive ( const MutableBufferSequence &  buffers,
socket_base::message_flags out_flags 
)
inline

Receive some data on the socket.

This function is used to receive data on the sequenced packet socket. The function call will block until data has been received successfully, or until an error occurs.

Parameters
buffersOne or more buffers into which the data will be received.
out_flagsAfter the receive call completes, contains flags associated with the received data. For example, if the socket_base::message_end_of_record bit is set then the received data marks the end of a record.
Returns
The number of bytes received.
Exceptions
asio::system_errorThrown on failure. An error code of asio::error::eof indicates that the connection was closed by the peer.
Example
To receive into a single data buffer use the asio::buffer function as follows:
socket.receive(asio::buffer(data, size), out_flags);
See the asio::buffer documentation for information on receiving into multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.

Definition at line 358 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename MutableBufferSequence >
std::size_t asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::receive ( const MutableBufferSequence &  buffers,
socket_base::message_flags  in_flags,
socket_base::message_flags out_flags 
)
inline

Receive some data on the socket.

This function is used to receive data on the sequenced packet socket. The function call will block until data has been received successfully, or until an error occurs.

Parameters
buffersOne or more buffers into which the data will be received.
in_flagsFlags specifying how the receive call is to be made.
out_flagsAfter the receive call completes, contains flags associated with the received data. For example, if the socket_base::message_end_of_record bit is set then the received data marks the end of a record.
Returns
The number of bytes received.
Exceptions
asio::system_errorThrown on failure. An error code of asio::error::eof indicates that the connection was closed by the peer.
Note
The receive operation may not receive all of the requested number of bytes. Consider using the asio::read function if you need to ensure that the requested amount of data is read before the blocking operation completes.
Example
To receive into a single data buffer use the asio::buffer function as follows:
socket.receive(asio::buffer(data, size), 0, out_flags);
See the asio::buffer documentation for information on receiving into multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.

Definition at line 404 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename MutableBufferSequence >
std::size_t asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::receive ( const MutableBufferSequence &  buffers,
socket_base::message_flags  in_flags,
socket_base::message_flags out_flags,
asio::error_code ec 
)
inline

Receive some data on a connected socket.

This function is used to receive data on the sequenced packet socket. The function call will block until data has been received successfully, or until an error occurs.

Parameters
buffersOne or more buffers into which the data will be received.
in_flagsFlags specifying how the receive call is to be made.
out_flagsAfter the receive call completes, contains flags associated with the received data. For example, if the socket_base::message_end_of_record bit is set then the received data marks the end of a record.
ecSet to indicate what error occurred, if any.
Returns
The number of bytes received. Returns 0 if an error occurred.
Note
The receive operation may not receive all of the requested number of bytes. Consider using the asio::read function if you need to ensure that the requested amount of data is read before the blocking operation completes.

Definition at line 439 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename ConstBufferSequence >
std::size_t asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::send ( const ConstBufferSequence &  buffers,
socket_base::message_flags  flags 
)
inline

Send some data on the socket.

This function is used to send data on the sequenced packet socket. The function call will block until the data has been sent successfully, or an until error occurs.

Parameters
buffersOne or more data buffers to be sent on the socket.
flagsFlags specifying how the send call is to be made.
Returns
The number of bytes sent.
Exceptions
asio::system_errorThrown on failure.
Example
To send a single data buffer use the asio::buffer function as follows:
socket.send(asio::buffer(data, size), 0);
See the asio::buffer documentation for information on sending multiple buffers in one go, and how to use it with arrays, boost::array or std::vector.

Definition at line 244 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
template<typename ConstBufferSequence >
std::size_t asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::send ( const ConstBufferSequence &  buffers,
socket_base::message_flags  flags,
asio::error_code ec 
)
inline

Send some data on the socket.

This function is used to send data on the sequenced packet socket. The function call will block the data has been sent successfully, or an until error occurs.

Parameters
buffersOne or more data buffers to be sent on the socket.
flagsFlags specifying how the send call is to be made.
ecSet to indicate what error occurred, if any.
Returns
The number of bytes sent. Returns 0 if an error occurred.
Note
The send operation may not transmit all of the data to the peer. Consider using the asio::write function if you need to ensure that all data is written before the blocking operation completes.

Definition at line 273 of file basic_seq_packet_socket.hpp.

Member Data Documentation

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::flags

Definition at line 317 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::in_flags

Definition at line 547 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags& asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::out_flags

Definition at line 489 of file basic_seq_packet_socket.hpp.

template<typename Protocol , typename SeqPacketSocketService = seq_packet_socket_service<Protocol>>
socket_base::message_flags socket_base::message_flags& asio::basic_seq_packet_socket< Protocol, SeqPacketSocketService >::out_flags

Definition at line 547 of file basic_seq_packet_socket.hpp.


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