11 #ifndef ASIO_BASIC_SEQ_PACKET_SOCKET_HPP 12 #define ASIO_BASIC_SEQ_PACKET_SOCKET_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 39 template <
typename Protocol,
40 typename SeqPacketSocketService = seq_packet_socket_service<Protocol> >
47 typedef typename SeqPacketSocketService::native_handle_type
native_type;
50 typedef typename SeqPacketSocketService::native_handle_type
70 :
basic_socket<Protocol, SeqPacketSocketService>(io_service)
89 const protocol_type& protocol)
90 :
basic_socket<Protocol, SeqPacketSocketService>(io_service, protocol)
111 const endpoint_type& endpoint)
112 :
basic_socket<Protocol, SeqPacketSocketService>(io_service, endpoint)
134 io_service, protocol, native_socket)
138 #if defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) 186 template <
typename Protocol1,
typename SeqPacketSocketService1>
189 typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0)
192 Protocol1, SeqPacketSocketService1>)(other))
208 template <
typename Protocol1,
typename SeqPacketSocketService1>
215 Protocol1, SeqPacketSocketService1>)(other));
218 #endif // defined(ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION) 243 template <
typename ConstBufferSequence>
272 template <
typename ConstBufferSequence>
313 template <
typename ConstBufferSequence,
typename WriteHandler>
316 async_send(
const ConstBufferSequence&
buffers,
357 template <
typename MutableBufferSequence>
358 std::size_t
receive(
const MutableBufferSequence& buffers,
403 template <
typename MutableBufferSequence>
404 std::size_t
receive(
const MutableBufferSequence& buffers,
438 template <
typename MutableBufferSequence>
439 std::size_t
receive(
const MutableBufferSequence& buffers,
444 buffers, in_flags, out_flags, ec);
485 template <
typename MutableBufferSequence,
typename ReadHandler>
488 async_receive(
const MutableBufferSequence& buffers,
543 template <
typename MutableBufferSequence,
typename ReadHandler>
546 async_receive(
const MutableBufferSequence& buffers,
565 #endif // ASIO_BASIC_SEQ_PACKET_SOCKET_HPP int message_flags
Bitmask type for flags that can be passed to send and receive operations.
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.
SeqPacketSocketService::native_handle_type native_type
void throw_error(const asio::error_code &err)
Protocol protocol_type
The protocol type.
SeqPacketSocketService::native_handle_type native_handle_type
The native representation of a socket.
Provides core I/O functionality.
service_type & get_service()
Get the service associated with the I/O object.
#define ASIO_MOVE_CAST2(type1, type2)
std::size_t send(const ConstBufferSequence &buffers, socket_base::message_flags flags)
Send some data on the socket.
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.
socket_base::message_flags & out_flags
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)
Construct and open a basic_seq_packet_socket.
const MutableBufferSequence & buffers
#define ASIO_READ_HANDLER_CHECK(handler_type, handler)
socket_base::message_flags in_flags
implementation_type & get_implementation()
Get the underlying implementation of the I/O object.
socket_base::message_flags ASIO_MOVE_ARG(WriteHandler) handler)
socket_base::message_flags socket_base::message_flags ASIO_MOVE_ARG(ReadHandler) handler)
ASIO_INITFN_RESULT_TYPE(WriteHandler, void(asio::error_code, std::size_t)) async_send(const ConstBufferSequence &buffers
Start an asynchronous send.
Class to represent an error code value.
basic_seq_packet_socket(asio::io_service &io_service)
Construct a basic_seq_packet_socket without opening it.
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.
Provides sequenced packet socket functionality.
std::size_t send(const ConstBufferSequence &buffers, socket_base::message_flags flags, asio::error_code &ec)
Send some data on the socket.
socket_base::message_flags ASIO_MOVE_ARG(ReadHandler) handler)
Provides socket functionality.
#define ASIO_MOVE_CAST(type)
Protocol::endpoint endpoint_type
The endpoint type.
std::size_t receive(const MutableBufferSequence &buffers, socket_base::message_flags &out_flags)
Receive some data on the socket.
#define ASIO_WRITE_HANDLER_CHECK(handler_type, handler)
socket_base::message_flags flags