![]() |
A connect handler must meet the requirements for a handler.
A value h of a connect handler class should work correctly in
the expression h(ec), where ec is an lvalue of
type const error_code.
A free function as a connect handler:
void connect_handler(
const asio::error_code& ec)
{
...
}
A connect handler function object:
struct connect_handler
{
...
void operator()(
const asio::error_code& ec)
{
...
}
...
};
A lambda as a connect handler:
socket.async_connect(...,
[](const asio::error_code& ec)
{
...
});
A non-static class member function adapted to a connect handler using std::bind():
void my_class::connect_handler(
const asio::error_code& ec)
{
...
}
...
socket.async_connect(...,
std::bind(&my_class::connect_handler,
this, std::placeholders::_1));
A non-static class member function adapted to a connect handler using boost::bind():
void my_class::connect_handler(
const asio::error_code& ec)
{
...
}
...
socket.async_connect(...,
boost::bind(&my_class::connect_handler,
this, asio::placeholders::error));