]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/asio/doc/requirements/HandshakeHandler.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / asio / doc / requirements / HandshakeHandler.qbk
1 [/
2 / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com)
3 /
4 / Distributed under the Boost Software License, Version 1.0. (See accompanying
5 / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 /]
7
8 [section:HandshakeHandler SSL handshake handler requirements]
9
10 A handshake handler must meet the requirements for a [link
11 boost_asio.reference.Handler handler]. A value `h` of a handshake handler
12 class should work correctly in the expression `h(ec)`, where `ec` is an lvalue
13 of type `const error_code`.
14
15 [heading Examples]
16
17 A free function as a handshake handler:
18
19 void handshake_handler(
20 const boost::system::error_code& ec)
21 {
22 ...
23 }
24
25 A handshake handler function object:
26
27 struct handshake_handler
28 {
29 ...
30 void operator()(
31 const boost::system::error_code& ec)
32 {
33 ...
34 }
35 ...
36 };
37
38 A non-static class member function adapted to a handshake handler using `bind()`:
39
40 void my_class::handshake_handler(
41 const boost::system::error_code& ec)
42 {
43 ...
44 }
45 ...
46 ssl_stream.async_handshake(...,
47 boost::bind(&my_class::handshake_handler,
48 this, boost::asio::placeholders::error));
49
50 [endsect]