11 #ifndef ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP 12 #define ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 32 template <
typename MutableBufferSequence>
50 static_cast<reactive_socket_recvmsg_op_base*>(base));
53 MutableBufferSequence> bufs(o->buffers_);
56 bufs.buffers(), bufs.count(),
57 o->in_flags_, o->out_flags_,
63 MutableBufferSequence buffers_;
68 template <
typename MutableBufferSequence,
typename Handler>
90 static_cast<reactive_socket_recvmsg_op*>(base));
91 ptr p = { asio::detail::addressof(o->handler_), o, o };
102 handler(o->handler_, o->ec_, o->bytes_transferred_);
103 p.h = asio::detail::addressof(handler.
handler_);
125 #endif // ASIO_DETAIL_REACTIVE_SOCKET_RECVMSG_OP_HPP int message_flags
Bitmask type for flags that can be passed to send and receive operations.
#define ASIO_HANDLER_INVOCATION_END
reactive_socket_recvmsg_op_base(socket_type socket, const MutableBufferSequence &buffers, socket_base::message_flags in_flags, socket_base::message_flags &out_flags, func_type complete_func)
socket_type socket(int af, int type, int protocol, asio::error_code &ec)
asio::basic_streambuf< Allocator > & b
class task_io_service io_service_impl
static void do_complete(io_service_impl *owner, operation *base, const asio::error_code &, std::size_t)
void invoke(Function &function, Context &context)
const MutableBufferSequence & buffers
Holds a buffer that can be modified.
bool non_blocking_recvmsg(socket_type s, buf *bufs, size_t count, int in_flags, int &out_flags, asio::error_code &ec, size_t &bytes_transferred)
#define ASIO_HANDLER_INVOCATION_BEGIN(args)
Class to represent an error code value.
task_io_service_operation operation
static bool do_perform(reactor_op *base)
std::size_t bytes_transferred_
#define ASIO_DEFINE_HANDLER_PTR(op)
#define ASIO_HANDLER_COMPLETION(args)
#define ASIO_MOVE_CAST(type)
reactive_socket_recvmsg_op(socket_type socket, const MutableBufferSequence &buffers, socket_base::message_flags in_flags, socket_base::message_flags &out_flags, Handler &handler)