Составной обработчик соединения должен соответствовать требованиям для обработчика. Значение<h>составленного класса обработчика соединения должно корректно работать в выражении<h(ec,
       i)>, где<ec>является значением типа<consterror_code>и<i>является значением типа<Iterator>, используемого в соответствующей функции<connect()>или async_connect().
Бесплатная функция в качестве составного обработчика соединений:
void connect_handler(
    const boost::system::error_code& ec,
    boost::asio::ip::tcp::resolver::iterator iterator)
{
  ...
}
Составной объект функции обработчика соединения:
struct connect_handler
{
  ...
  template <typename Iterator>
  void operator()(
      const boost::system::error_code& ec,
      Iterator iterator)
  {
    ...
  }
  ...
};
Функция нестатического члена класса, адаптированная к составному обработчику соединения с использованием<bind()>:
void my_class::connect_handler(
    const boost::system::error_code& ec,
    boost::asio::ip::tcp::resolver::iterator iterator)
{
  ...
}
...
boost::asio::async_connect(...,
    boost::bind(&my_class::connect_handler,
      this, boost::asio::placeholders::error,
      boost::asio::placeholders::iterator));