- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
template <typename Handler>
void start_connect_op(socket_type descriptor,
per_descriptor_data&, Handler handler)
{
boost::asio::detail::mutex::scoped_lock lock(mutex_);
if (!shutdown_)
{
boost::shared_ptr<bool> completed(new bool(false));
connect_handler_wrapper<Handler> wrapped_handler(
descriptor, completed, *this, handler);
bool interrupt = write_op_queue_.enqueue_operation(
descriptor, wrapped_handler);
interrupt = except_op_queue_.enqueue_operation(
descriptor, wrapped_handler) || interrupt;
if (interrupt)
interrupter_.interrupt();
}
}