11 #ifndef ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP 12 #define ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 31 template <
typename MutableBufferSequence>
49 static_cast<reactive_socket_recv_op_base*>(base));
52 MutableBufferSequence> bufs(o->buffers_);
55 bufs.buffers(), bufs.count(), o->flags_,
63 MutableBufferSequence buffers_;
67 template <
typename MutableBufferSequence,
typename Handler>
89 ptr p = { asio::detail::addressof(o->handler_), o, o };
100 handler(o->handler_, o->ec_, o->bytes_transferred_);
101 p.h = asio::detail::addressof(handler.
handler_);
123 #endif // ASIO_DETAIL_REACTIVE_SOCKET_RECV_OP_HPP static void do_complete(io_service_impl *owner, operation *base, const asio::error_code &, std::size_t)
int message_flags
Bitmask type for flags that can be passed to send and receive operations.
#define ASIO_HANDLER_INVOCATION_END
reactive_socket_recv_op_base(socket_type socket, socket_ops::state_type state, const MutableBufferSequence &buffers, socket_base::message_flags flags, func_type complete_func)
static bool do_perform(reactor_op *base)
reactive_socket_recv_op(socket_type socket, socket_ops::state_type state, const MutableBufferSequence &buffers, socket_base::message_flags flags, Handler &handler)
socket_type socket(int af, int type, int protocol, asio::error_code &ec)
bool non_blocking_recv(socket_type s, buf *bufs, size_t count, int flags, bool is_stream, asio::error_code &ec, size_t &bytes_transferred)
asio::basic_streambuf< Allocator > & b
class task_io_service io_service_impl
void invoke(Function &function, Context &context)
const MutableBufferSequence & buffers
Holds a buffer that can be modified.
#define ASIO_HANDLER_INVOCATION_BEGIN(args)
Class to represent an error code value.
task_io_service_operation operation
std::size_t bytes_transferred_
#define ASIO_DEFINE_HANDLER_PTR(op)
#define ASIO_HANDLER_COMPLETION(args)
#define ASIO_MOVE_CAST(type)