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