Обработчик рукопожатия должен соответствовать требованиям для обработчика. Значение<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));