/// Handler callback for start_accept void handle_accept(connection_ptr con, lib::error_code const & ec) { if (ec) { con->terminate(ec); if (ec == error::operation_canceled) { endpoint_type::m_elog.write(log::elevel::info, "handle_accept error: "+ec.message()); } else { endpoint_type::m_elog.write(log::elevel::rerror, "handle_accept error: "+ec.message()); } } else { con->start(); } lib::error_code start_ec; start_accept(start_ec); if (start_ec == error::async_accept_not_listening) { endpoint_type::m_elog.write(log::elevel::info, "Stopping acceptance of new connections because the underlying transport is no longer listening."); } else if (start_ec) { endpoint_type::m_elog.write(log::elevel::rerror, "Restarting async_accept loop failed: "+ec.message()); } }