1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>ssl::stream::async_handshake (2 of 2 overloads)</title> 5<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio"> 8<link rel="up" href="../async_handshake.html" title="ssl::stream::async_handshake"> 9<link rel="prev" href="overload1.html" title="ssl::stream::async_handshake (1 of 2 overloads)"> 10<link rel="next" href="../async_read_some.html" title="ssl::stream::async_read_some"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h5 class="title"> 27<a name="boost_asio.reference.ssl__stream.async_handshake.overload2"></a><a class="link" href="overload2.html" title="ssl::stream::async_handshake (2 of 2 overloads)">ssl::stream::async_handshake 28 (2 of 2 overloads)</a> 29</h5></div></div></div> 30<p> 31 Start an asynchronous SSL handshake. 32 </p> 33<pre class="programlisting">template< 34 typename <a class="link" href="../../ConstBufferSequence.html" title="Constant buffer sequence requirements">ConstBufferSequence</a>, 35 typename <a class="link" href="../../BufferedHandshakeHandler.html" title="Buffered handshake handler requirements">BufferedHandshakeHandler</a> = <a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>> 36<a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.automatic_deduction_of_initiating_function_return_type"><span class="emphasis"><em>DEDUCED</em></span></a> async_handshake( 37 handshake_type type, 38 const ConstBufferSequence & buffers, 39 BufferedHandshakeHandler && handler = <a class="link" href="../../asynchronous_operations.html#boost_asio.reference.asynchronous_operations.default_completion_tokens"><span class="emphasis"><em>DEFAULT</em></span></a>); 40</pre> 41<p> 42 This function is used to asynchronously perform an SSL handshake on the 43 stream. This function call always returns immediately. 44 </p> 45<h6> 46<a name="boost_asio.reference.ssl__stream.async_handshake.overload2.h0"></a> 47 <span class="phrase"><a name="boost_asio.reference.ssl__stream.async_handshake.overload2.parameters"></a></span><a class="link" href="overload2.html#boost_asio.reference.ssl__stream.async_handshake.overload2.parameters">Parameters</a> 48 </h6> 49<div class="variablelist"> 50<p class="title"><b></b></p> 51<dl class="variablelist"> 52<dt><span class="term">type</span></dt> 53<dd><p> 54 The type of handshaking to be performed, i.e. as a client or as 55 a server. 56 </p></dd> 57<dt><span class="term">buffers</span></dt> 58<dd><p> 59 The buffered data to be reused for the handshake. Although the 60 buffers object may be copied as necessary, ownership of the underlying 61 buffers is retained by the caller, which must guarantee that they 62 remain valid until the handler is called. 63 </p></dd> 64<dt><span class="term">handler</span></dt> 65<dd> 66<p> 67 The handler to be called when the handshake operation completes. 68 Copies will be made of the handler as required. The equivalent 69 function signature of the handler must be: 70</p> 71<pre class="programlisting">void handler( 72 const boost::system::error_code& error, // Result of operation. 73 std::size_t bytes_transferred // Amount of buffers used in handshake. 74); 75</pre> 76<p> 77 </p> 78</dd> 79</dl> 80</div> 81</div> 82<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 83<td align="left"></td> 84<td align="right"><div class="copyright-footer">Copyright © 2003-2020 Christopher M. 85 Kohlhoff<p> 86 Distributed under the Boost Software License, Version 1.0. (See accompanying 87 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 88 </p> 89</div></td> 90</tr></table> 91<hr> 92<div class="spirit-nav"> 93<a accesskey="p" href="overload1.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../async_handshake.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../boost_asio.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../async_read_some.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a> 94</div> 95</body> 96</html> 97