11 #ifndef ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP 12 #define ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 20 #if defined(ASIO_HAS_IOCP) 36 class win_iocp_socket_connect_op_base :
public reactor_op
40 : reactor_op(&win_iocp_socket_connect_op_base::do_perform, complete_func),
46 static bool do_perform(reactor_op* base)
48 win_iocp_socket_connect_op_base* o(
49 static_cast<win_iocp_socket_connect_op_base*>(base));
58 template <
typename Handler>
59 class win_iocp_socket_connect_op :
public win_iocp_socket_connect_op_base
65 : win_iocp_socket_connect_op_base(socket,
66 &win_iocp_socket_connect_op::do_complete),
78 win_iocp_socket_connect_op* o(
79 static_cast<win_iocp_socket_connect_op*>(base));
80 ptr p = { asio::detail::addressof(o->handler_), o, o };
85 socket_ops::complete_iocp_connect(o->socket_, ec);
98 detail::binder1<Handler, asio::error_code>
99 handler(o->handler_, ec);
100 p.h = asio::detail::addressof(handler.handler_);
122 #endif // defined(ASIO_HAS_IOCP) 124 #endif // ASIO_DETAIL_WIN_IOCP_SOCKET_CONNECT_OP_HPP
#define ASIO_HANDLER_INVOCATION_END
socket_type socket(int af, int type, int protocol, asio::error_code &ec)
asio::basic_streambuf< Allocator > & b
null_fenced_block fenced_block
class task_io_service io_service_impl
void invoke(Function &function, Context &context)
#define ASIO_HANDLER_INVOCATION_BEGIN(args)
Class to represent an error code value.
task_io_service_operation operation
#define ASIO_DEFINE_HANDLER_PTR(op)
#define ASIO_HANDLER_COMPLETION(args)
#define ASIO_MOVE_CAST(type)
bool non_blocking_connect(socket_type s, asio::error_code &ec)