Обработчик должен соответствовать требованиям для обработчика. Значение<h>класса обработчика ожидания должно корректно работать в выражении<h(ec)>, где<ec>является значением типа<consterror_code>.
Бесплатная функция в качестве обработчика ожидания:
void wait_handler(
    const boost::system::error_code& ec)
{
  ...
}
Объект функции обработчика ожидания:
struct wait_handler
{
  ...
  void operator()(
      const boost::system::error_code& ec)
  {
    ...
  }
  ...
};
Функция нестатического члена класса, адаптированная для обработчика ожидания<bind()>:
void my_class::wait_handler(
    const boost::system::error_code& ec)
{
  ...
}
...
socket.async_wait(...,
    boost::bind(&my_class::wait_handler,
      this, boost::asio::placeholders::error));