Обработчик завершения должен соответствовать требованиям для обработчика. Значение<h>класса обработчика завершения должно корректно работать в выражении<h()>.
Бесплатная функция в качестве обработчика завершения:
void completion_handler()
{
  ...
}
Объект функции обработчика завершения:
struct completion_handler
{
  ...
  void operator()()
  {
    ...
  }
  ...
};
Функция нестатического члена класса, адаптированная к обработчику завершения с использованием<bind()>:
void my_class::completion_handler()
{
  ...
}
...
my_io_service.post(boost::bind(&my_class::completion_handler, this));