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