Files
rippled/classAutoSocket.html
2025-08-27 02:38:02 -07:00

1111 lines
60 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>rippled: AutoSocket Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">rippled
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="classAutoSocket-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">AutoSocket Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p><code>#include &lt;<a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for AutoSocket:</div>
<div class="dyncontent">
<div class="center"><img src="classAutoSocket__coll__graph.png" border="0" usemap="#aAutoSocket_coll__map" alt="Collaboration graph"/></div>
<map name="aAutoSocket_coll__map" id="aAutoSocket_coll__map">
<area shape="rect" title=" " alt="" coords="209,196,303,221"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html" title=" " alt="" coords="5,93,157,133"/>
<area shape="poly" title=" " alt="" coords="130,137,191,170,236,194,233,198,188,174,127,142"/>
<area shape="rect" target="_parent" href="http://en.cppreference.com/w/cpp/container/vector.html" title=" " alt="" coords="181,101,331,126"/>
<area shape="poly" title=" " alt="" coords="259,140,259,196,253,196,253,140"/>
<area shape="rect" href="classbeast_1_1Journal.html" title="A generic endpoint for log messages." alt="" coords="355,101,466,126"/>
<area shape="poly" title=" " alt="" coords="383,136,320,174,278,198,276,193,317,170,380,131"/>
<area shape="rect" href="classbeast_1_1Journal_1_1Sink.html" title="Abstraction for the underlying message destination." alt="" coords="337,5,484,31"/>
<area shape="poly" title=" " alt="" coords="413,44,413,101,408,101,408,44"/>
</map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:ae44a3ac447ab2a7bb4d17f7ff99c02ac" id="r_ae44a3ac447ab2a7bb4d17f7ff99c02ac"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">ssl_socket</a> = boost::asio::ssl::stream&lt; boost::asio::ip::tcp::socket &gt;</td></tr>
<tr class="separator:ae44a3ac447ab2a7bb4d17f7ff99c02ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c6cbf3c820f3d0d217ad05bfca63500" id="r_a1c6cbf3c820f3d0d217ad05bfca63500"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a1c6cbf3c820f3d0d217ad05bfca63500">endpoint_type</a> = boost::asio::ip::tcp::socket::endpoint_type</td></tr>
<tr class="separator:a1c6cbf3c820f3d0d217ad05bfca63500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4296a902501a58fc261c286602f5ed4e" id="r_a4296a902501a58fc261c286602f5ed4e"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a4296a902501a58fc261c286602f5ed4e">socket_ptr</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt; <a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">ssl_socket</a> &gt;</td></tr>
<tr class="separator:a4296a902501a58fc261c286602f5ed4e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13c2bd3ceecb4029a77ed413d1d7812c" id="r_a13c2bd3ceecb4029a77ed413d1d7812c"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a13c2bd3ceecb4029a77ed413d1d7812c">plain_socket</a> = ssl_socket::next_layer_type</td></tr>
<tr class="separator:a13c2bd3ceecb4029a77ed413d1d7812c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d32e6e938cd8cd19277148c0a833914" id="r_a0d32e6e938cd8cd19277148c0a833914"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a0d32e6e938cd8cd19277148c0a833914">lowest_layer_type</a> = ssl_socket::lowest_layer_type</td></tr>
<tr class="separator:a0d32e6e938cd8cd19277148c0a833914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09f59ae6225d4193f2e30ee1a40a049d" id="r_a09f59ae6225d4193f2e30ee1a40a049d"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a09f59ae6225d4193f2e30ee1a40a049d">handshake_type</a> = ssl_socket::handshake_type</td></tr>
<tr class="separator:a09f59ae6225d4193f2e30ee1a40a049d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f0fade8791d3e746191a589349cabef" id="r_a2f0fade8791d3e746191a589349cabef"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">error_code</a> = boost::system::error_code</td></tr>
<tr class="separator:a2f0fade8791d3e746191a589349cabef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02703fb82f22f8ab62065d89ce427beb" id="r_a02703fb82f22f8ab62065d89ce427beb"><td class="memItemLeft" align="right" valign="top">using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">callback</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt; void(<a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">error_code</a>)&gt;</td></tr>
<tr class="separator:a02703fb82f22f8ab62065d89ce427beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a09274142f07fb19beeb339f1a9e801b3" id="r_a09274142f07fb19beeb339f1a9e801b3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a09274142f07fb19beeb339f1a9e801b3">AutoSocket</a> (boost::asio::io_context &amp;s, boost::asio::ssl::context &amp;c, bool secureOnly, bool plainOnly)</td></tr>
<tr class="separator:a09274142f07fb19beeb339f1a9e801b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c183f221564cb2d1e6f6f398cf65faa" id="r_a3c183f221564cb2d1e6f6f398cf65faa"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a3c183f221564cb2d1e6f6f398cf65faa">AutoSocket</a> (boost::asio::io_context &amp;s, boost::asio::ssl::context &amp;c)</td></tr>
<tr class="separator:a3c183f221564cb2d1e6f6f398cf65faa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46d48da63211d09b6a555b9e6345e352" id="r_a46d48da63211d09b6a555b9e6345e352"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a46d48da63211d09b6a555b9e6345e352">isSecure</a> ()</td></tr>
<tr class="separator:a46d48da63211d09b6a555b9e6345e352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac842839adebc296b55adabf8dfef2748" id="r_ac842839adebc296b55adabf8dfef2748"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">ssl_socket</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#ac842839adebc296b55adabf8dfef2748">SSLSocket</a> ()</td></tr>
<tr class="separator:ac842839adebc296b55adabf8dfef2748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7964d2ae197352e373513281189b1de3" id="r_a7964d2ae197352e373513281189b1de3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAutoSocket.html#a13c2bd3ceecb4029a77ed413d1d7812c">plain_socket</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a7964d2ae197352e373513281189b1de3">PlainSocket</a> ()</td></tr>
<tr class="separator:a7964d2ae197352e373513281189b1de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64d482c1b9a89cc8e336e6b849276682" id="r_a64d482c1b9a89cc8e336e6b849276682"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a64d482c1b9a89cc8e336e6b849276682">local_endpoint</a> ()</td></tr>
<tr class="separator:a64d482c1b9a89cc8e336e6b849276682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca7022d06cb99c2532eab3686aaf621" id="r_a1ca7022d06cb99c2532eab3686aaf621"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a1ca7022d06cb99c2532eab3686aaf621">remote_endpoint</a> ()</td></tr>
<tr class="separator:a1ca7022d06cb99c2532eab3686aaf621"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d685cd8565c06c6a06b4c2514467569" id="r_a5d685cd8565c06c6a06b4c2514467569"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAutoSocket.html#a0d32e6e938cd8cd19277148c0a833914">lowest_layer_type</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a5d685cd8565c06c6a06b4c2514467569">lowest_layer</a> ()</td></tr>
<tr class="separator:a5d685cd8565c06c6a06b4c2514467569"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82f19103c98e59b9044682e2a9c03a3e" id="r_a82f19103c98e59b9044682e2a9c03a3e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a82f19103c98e59b9044682e2a9c03a3e">swap</a> (<a class="el" href="classAutoSocket.html">AutoSocket</a> &amp;s) noexcept</td></tr>
<tr class="separator:a82f19103c98e59b9044682e2a9c03a3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb778dd03c4b2527ecbbe146a6c2c22b" id="r_adb778dd03c4b2527ecbbe146a6c2c22b"><td class="memItemLeft" align="right" valign="top">boost::system::error_code&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#adb778dd03c4b2527ecbbe146a6c2c22b">cancel</a> (boost::system::error_code &amp;ec)</td></tr>
<tr class="separator:adb778dd03c4b2527ecbbe146a6c2c22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5068c67f0864e41c828523aae22592" id="r_a4d5068c67f0864e41c828523aae22592"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a4d5068c67f0864e41c828523aae22592">async_handshake</a> (<a class="el" href="classAutoSocket.html#a09f59ae6225d4193f2e30ee1a40a049d">handshake_type</a> type, <a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">callback</a> cbFunc)</td></tr>
<tr class="separator:a4d5068c67f0864e41c828523aae22592"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acbdb34f9cd97a49cd687edf5b5b1bee4" id="r_acbdb34f9cd97a49cd687edf5b5b1bee4"><td class="memTemplParams" colspan="2">template&lt;typename ShutdownHandler &gt; </td></tr>
<tr class="memitem:acbdb34f9cd97a49cd687edf5b5b1bee4"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#acbdb34f9cd97a49cd687edf5b5b1bee4">async_shutdown</a> (ShutdownHandler handler)</td></tr>
<tr class="separator:acbdb34f9cd97a49cd687edf5b5b1bee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7bc3829781a3d2ae286af9b60d53093b" id="r_a7bc3829781a3d2ae286af9b60d53093b"><td class="memTemplParams" colspan="2">template&lt;typename Seq , typename Handler &gt; </td></tr>
<tr class="memitem:a7bc3829781a3d2ae286af9b60d53093b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a7bc3829781a3d2ae286af9b60d53093b">async_read_some</a> (Seq const &amp;buffers, Handler handler)</td></tr>
<tr class="separator:a7bc3829781a3d2ae286af9b60d53093b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7734ce3848f123671300f40c7e74a77b" id="r_a7734ce3848f123671300f40c7e74a77b"><td class="memTemplParams" colspan="2">template&lt;typename Seq , typename Condition , typename Handler &gt; </td></tr>
<tr class="memitem:a7734ce3848f123671300f40c7e74a77b"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a7734ce3848f123671300f40c7e74a77b">async_read_until</a> (Seq const &amp;buffers, Condition condition, Handler handler)</td></tr>
<tr class="separator:a7734ce3848f123671300f40c7e74a77b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5574bc0ecf4b2fca1a936d89605c1c1d" id="r_a5574bc0ecf4b2fca1a936d89605c1c1d"><td class="memTemplParams" colspan="2">template&lt;typename Allocator , typename Handler &gt; </td></tr>
<tr class="memitem:a5574bc0ecf4b2fca1a936d89605c1c1d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a5574bc0ecf4b2fca1a936d89605c1c1d">async_read_until</a> (boost::asio::basic_streambuf&lt; Allocator &gt; &amp;buffers, <a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;delim, Handler handler)</td></tr>
<tr class="separator:a5574bc0ecf4b2fca1a936d89605c1c1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d5902fd679375755028c12a952cefc5" id="r_a4d5902fd679375755028c12a952cefc5"><td class="memTemplParams" colspan="2">template&lt;typename Allocator , typename MatchCondition , typename Handler &gt; </td></tr>
<tr class="memitem:a4d5902fd679375755028c12a952cefc5"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a4d5902fd679375755028c12a952cefc5">async_read_until</a> (boost::asio::basic_streambuf&lt; Allocator &gt; &amp;buffers, MatchCondition cond, Handler handler)</td></tr>
<tr class="separator:a4d5902fd679375755028c12a952cefc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57fac5a950868eb5785e4534a8c7cf8d" id="r_a57fac5a950868eb5785e4534a8c7cf8d"><td class="memTemplParams" colspan="2">template&lt;typename Buf , typename Handler &gt; </td></tr>
<tr class="memitem:a57fac5a950868eb5785e4534a8c7cf8d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a57fac5a950868eb5785e4534a8c7cf8d">async_write</a> (Buf const &amp;buffers, Handler handler)</td></tr>
<tr class="separator:a57fac5a950868eb5785e4534a8c7cf8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08aad75e45fcdbaf28f748c0fd85b883" id="r_a08aad75e45fcdbaf28f748c0fd85b883"><td class="memTemplParams" colspan="2">template&lt;typename Allocator , typename Handler &gt; </td></tr>
<tr class="memitem:a08aad75e45fcdbaf28f748c0fd85b883"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a08aad75e45fcdbaf28f748c0fd85b883">async_write</a> (boost::asio::basic_streambuf&lt; Allocator &gt; &amp;buffers, Handler handler)</td></tr>
<tr class="separator:a08aad75e45fcdbaf28f748c0fd85b883"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a39f43d6a603671c6845f2b824015cd" id="r_a7a39f43d6a603671c6845f2b824015cd"><td class="memTemplParams" colspan="2">template&lt;typename Buf , typename Condition , typename Handler &gt; </td></tr>
<tr class="memitem:a7a39f43d6a603671c6845f2b824015cd"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a7a39f43d6a603671c6845f2b824015cd">async_read</a> (Buf const &amp;buffers, Condition cond, Handler handler)</td></tr>
<tr class="separator:a7a39f43d6a603671c6845f2b824015cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ef0fb1cc28f7c2b3b399fae62c66488" id="r_a1ef0fb1cc28f7c2b3b399fae62c66488"><td class="memTemplParams" colspan="2">template&lt;typename Allocator , typename Condition , typename Handler &gt; </td></tr>
<tr class="memitem:a1ef0fb1cc28f7c2b3b399fae62c66488"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a1ef0fb1cc28f7c2b3b399fae62c66488">async_read</a> (boost::asio::basic_streambuf&lt; Allocator &gt; &amp;buffers, Condition cond, Handler handler)</td></tr>
<tr class="separator:a1ef0fb1cc28f7c2b3b399fae62c66488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55c3765f1aad5cd5fea5403a804cf37a" id="r_a55c3765f1aad5cd5fea5403a804cf37a"><td class="memTemplParams" colspan="2">template&lt;typename Buf , typename Handler &gt; </td></tr>
<tr class="memitem:a55c3765f1aad5cd5fea5403a804cf37a"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a55c3765f1aad5cd5fea5403a804cf37a">async_read</a> (Buf const &amp;buffers, Handler handler)</td></tr>
<tr class="separator:a55c3765f1aad5cd5fea5403a804cf37a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70f21d968a3a3de9a06cf58dd60ef8d" id="r_ac70f21d968a3a3de9a06cf58dd60ef8d"><td class="memTemplParams" colspan="2">template&lt;typename Seq , typename Handler &gt; </td></tr>
<tr class="memitem:ac70f21d968a3a3de9a06cf58dd60ef8d"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#ac70f21d968a3a3de9a06cf58dd60ef8d">async_write_some</a> (Seq const &amp;buffers, Handler handler)</td></tr>
<tr class="separator:ac70f21d968a3a3de9a06cf58dd60ef8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a244e16b7d8e337c654d592d2fc742a44" id="r_a244e16b7d8e337c654d592d2fc742a44"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a244e16b7d8e337c654d592d2fc742a44">handle_autodetect</a> (<a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">callback</a> cbFunc, <a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">error_code</a> const &amp;ec, size_t bytesTransferred)</td></tr>
<tr class="separator:a244e16b7d8e337c654d592d2fc742a44"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:a0626e9ead37567b5988d5e131606169e" id="r_a0626e9ead37567b5988d5e131606169e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classAutoSocket.html#a4296a902501a58fc261c286602f5ed4e">socket_ptr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a0626e9ead37567b5988d5e131606169e">mSocket</a></td></tr>
<tr class="separator:a0626e9ead37567b5988d5e131606169e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0cb7739349791b0e31ffac09737b5898" id="r_a0cb7739349791b0e31ffac09737b5898"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a0cb7739349791b0e31ffac09737b5898">mSecure</a></td></tr>
<tr class="separator:a0cb7739349791b0e31ffac09737b5898"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecbb416ccca7c49d1cb2df15f50958b" id="r_a7ecbb416ccca7c49d1cb2df15f50958b"><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; char &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a7ecbb416ccca7c49d1cb2df15f50958b">mBuffer</a></td></tr>
<tr class="separator:a7ecbb416ccca7c49d1cb2df15f50958b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26b53c91bbcacabbda4dd3fdd36a416f" id="r_a26b53c91bbcacabbda4dd3fdd36a416f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAutoSocket.html#a26b53c91bbcacabbda4dd3fdd36a416f">j_</a></td></tr>
<tr class="separator:a26b53c91bbcacabbda4dd3fdd36a416f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00036">36</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a id="ae44a3ac447ab2a7bb4d17f7ff99c02ac" name="ae44a3ac447ab2a7bb4d17f7ff99c02ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae44a3ac447ab2a7bb4d17f7ff99c02ac">&#9670;&#160;</a></span>ssl_socket</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">AutoSocket::ssl_socket</a> = boost::asio::ssl::stream&lt;boost::asio::ip::tcp::socket&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00039">39</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a1c6cbf3c820f3d0d217ad05bfca63500" name="a1c6cbf3c820f3d0d217ad05bfca63500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c6cbf3c820f3d0d217ad05bfca63500">&#9670;&#160;</a></span>endpoint_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a1c6cbf3c820f3d0d217ad05bfca63500">AutoSocket::endpoint_type</a> = boost::asio::ip::tcp::socket::endpoint_type</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00040">40</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a4296a902501a58fc261c286602f5ed4e" name="a4296a902501a58fc261c286602f5ed4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4296a902501a58fc261c286602f5ed4e">&#9670;&#160;</a></span>socket_ptr</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a4296a902501a58fc261c286602f5ed4e">AutoSocket::socket_ptr</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/memory/unique_ptr.html">std::unique_ptr</a>&lt;<a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">ssl_socket</a>&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00041">41</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a13c2bd3ceecb4029a77ed413d1d7812c" name="a13c2bd3ceecb4029a77ed413d1d7812c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13c2bd3ceecb4029a77ed413d1d7812c">&#9670;&#160;</a></span>plain_socket</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a13c2bd3ceecb4029a77ed413d1d7812c">AutoSocket::plain_socket</a> = ssl_socket::next_layer_type</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00042">42</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a0d32e6e938cd8cd19277148c0a833914" name="a0d32e6e938cd8cd19277148c0a833914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0d32e6e938cd8cd19277148c0a833914">&#9670;&#160;</a></span>lowest_layer_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a0d32e6e938cd8cd19277148c0a833914">AutoSocket::lowest_layer_type</a> = ssl_socket::lowest_layer_type</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00043">43</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a09f59ae6225d4193f2e30ee1a40a049d" name="a09f59ae6225d4193f2e30ee1a40a049d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09f59ae6225d4193f2e30ee1a40a049d">&#9670;&#160;</a></span>handshake_type</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a09f59ae6225d4193f2e30ee1a40a049d">AutoSocket::handshake_type</a> = ssl_socket::handshake_type</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00044">44</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a2f0fade8791d3e746191a589349cabef" name="a2f0fade8791d3e746191a589349cabef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f0fade8791d3e746191a589349cabef">&#9670;&#160;</a></span>error_code</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">AutoSocket::error_code</a> = boost::system::error_code</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00045">45</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a02703fb82f22f8ab62065d89ce427beb" name="a02703fb82f22f8ab62065d89ce427beb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02703fb82f22f8ab62065d89ce427beb">&#9670;&#160;</a></span>callback</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">using <a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">AutoSocket::callback</a> = <a class="elRef" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>&lt;void(<a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">error_code</a>)&gt;</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00046">46</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a09274142f07fb19beeb339f1a9e801b3" name="a09274142f07fb19beeb339f1a9e801b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09274142f07fb19beeb339f1a9e801b3">&#9670;&#160;</a></span>AutoSocket() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AutoSocket::AutoSocket </td>
<td>(</td>
<td class="paramtype">boost::asio::io_context &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boost::asio::ssl::context &amp;&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>secureOnly</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>plainOnly</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00049">49</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a3c183f221564cb2d1e6f6f398cf65faa" name="a3c183f221564cb2d1e6f6f398cf65faa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c183f221564cb2d1e6f6f398cf65faa">&#9670;&#160;</a></span>AutoSocket() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">AutoSocket::AutoSocket </td>
<td>(</td>
<td class="paramtype">boost::asio::io_context &amp;&#160;</td>
<td class="paramname"><em>s</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boost::asio::ssl::context &amp;&#160;</td>
<td class="paramname"><em>c</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00061">61</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a46d48da63211d09b6a555b9e6345e352" name="a46d48da63211d09b6a555b9e6345e352"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46d48da63211d09b6a555b9e6345e352">&#9670;&#160;</a></span>isSecure()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool AutoSocket::isSecure </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00067">67</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="ac842839adebc296b55adabf8dfef2748" name="ac842839adebc296b55adabf8dfef2748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac842839adebc296b55adabf8dfef2748">&#9670;&#160;</a></span>SSLSocket()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAutoSocket.html#ae44a3ac447ab2a7bb4d17f7ff99c02ac">ssl_socket</a> &amp; AutoSocket::SSLSocket </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00072">72</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a7964d2ae197352e373513281189b1de3" name="a7964d2ae197352e373513281189b1de3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7964d2ae197352e373513281189b1de3">&#9670;&#160;</a></span>PlainSocket()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAutoSocket.html#a13c2bd3ceecb4029a77ed413d1d7812c">plain_socket</a> &amp; AutoSocket::PlainSocket </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00077">77</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a64d482c1b9a89cc8e336e6b849276682" name="a64d482c1b9a89cc8e336e6b849276682"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64d482c1b9a89cc8e336e6b849276682">&#9670;&#160;</a></span>local_endpoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a> AutoSocket::local_endpoint </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00083">83</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a1ca7022d06cb99c2532eab3686aaf621" name="a1ca7022d06cb99c2532eab3686aaf621"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca7022d06cb99c2532eab3686aaf621">&#9670;&#160;</a></span>remote_endpoint()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1IP_1_1Endpoint.html">beast::IP::Endpoint</a> AutoSocket::remote_endpoint </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00089">89</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a5d685cd8565c06c6a06b4c2514467569" name="a5d685cd8565c06c6a06b4c2514467569"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d685cd8565c06c6a06b4c2514467569">&#9670;&#160;</a></span>lowest_layer()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAutoSocket.html#a0d32e6e938cd8cd19277148c0a833914">lowest_layer_type</a> &amp; AutoSocket::lowest_layer </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00095">95</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a82f19103c98e59b9044682e2a9c03a3e" name="a82f19103c98e59b9044682e2a9c03a3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82f19103c98e59b9044682e2a9c03a3e">&#9670;&#160;</a></span>swap()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AutoSocket::swap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classAutoSocket.html">AutoSocket</a> &amp;&#160;</td>
<td class="paramname"><em>s</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00101">101</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="adb778dd03c4b2527ecbbe146a6c2c22b" name="adb778dd03c4b2527ecbbe146a6c2c22b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adb778dd03c4b2527ecbbe146a6c2c22b">&#9670;&#160;</a></span>cancel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">boost::system::error_code AutoSocket::cancel </td>
<td>(</td>
<td class="paramtype">boost::system::error_code &amp;&#160;</td>
<td class="paramname"><em>ec</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00109">109</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a4d5068c67f0864e41c828523aae22592" name="a4d5068c67f0864e41c828523aae22592"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d5068c67f0864e41c828523aae22592">&#9670;&#160;</a></span>async_handshake()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_handshake </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classAutoSocket.html#a09f59ae6225d4193f2e30ee1a40a049d">handshake_type</a>&#160;</td>
<td class="paramname"><em>type</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">callback</a>&#160;</td>
<td class="paramname"><em>cbFunc</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00115">115</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="acbdb34f9cd97a49cd687edf5b5b1bee4" name="acbdb34f9cd97a49cd687edf5b5b1bee4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acbdb34f9cd97a49cd687edf5b5b1bee4">&#9670;&#160;</a></span>async_shutdown()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename ShutdownHandler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_shutdown </td>
<td>(</td>
<td class="paramtype">ShutdownHandler&#160;</td>
<td class="paramname"><em>handler</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00148">148</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a7bc3829781a3d2ae286af9b60d53093b" name="a7bc3829781a3d2ae286af9b60d53093b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7bc3829781a3d2ae286af9b60d53093b">&#9670;&#160;</a></span>async_read_some()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Seq , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read_some </td>
<td>(</td>
<td class="paramtype">Seq const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00171">171</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a7734ce3848f123671300f40c7e74a77b" name="a7734ce3848f123671300f40c7e74a77b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7734ce3848f123671300f40c7e74a77b">&#9670;&#160;</a></span>async_read_until() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Seq , typename Condition , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read_until </td>
<td>(</td>
<td class="paramtype">Seq const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Condition&#160;</td>
<td class="paramname"><em>condition</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00181">181</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a5574bc0ecf4b2fca1a936d89605c1c1d" name="a5574bc0ecf4b2fca1a936d89605c1c1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5574bc0ecf4b2fca1a936d89605c1c1d">&#9670;&#160;</a></span>async_read_until() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Allocator , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read_until </td>
<td>(</td>
<td class="paramtype">boost::asio::basic_streambuf&lt; Allocator &gt; &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> const &amp;&#160;</td>
<td class="paramname"><em>delim</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00193">193</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a4d5902fd679375755028c12a952cefc5" name="a4d5902fd679375755028c12a952cefc5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d5902fd679375755028c12a952cefc5">&#9670;&#160;</a></span>async_read_until() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Allocator , typename MatchCondition , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read_until </td>
<td>(</td>
<td class="paramtype">boost::asio::basic_streambuf&lt; Allocator &gt; &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">MatchCondition&#160;</td>
<td class="paramname"><em>cond</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00207">207</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a57fac5a950868eb5785e4534a8c7cf8d" name="a57fac5a950868eb5785e4534a8c7cf8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57fac5a950868eb5785e4534a8c7cf8d">&#9670;&#160;</a></span>async_write() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Buf , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_write </td>
<td>(</td>
<td class="paramtype">Buf const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00221">221</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a08aad75e45fcdbaf28f748c0fd85b883" name="a08aad75e45fcdbaf28f748c0fd85b883"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08aad75e45fcdbaf28f748c0fd85b883">&#9670;&#160;</a></span>async_write() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Allocator , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_write </td>
<td>(</td>
<td class="paramtype">boost::asio::basic_streambuf&lt; Allocator &gt; &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00231">231</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a7a39f43d6a603671c6845f2b824015cd" name="a7a39f43d6a603671c6845f2b824015cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7a39f43d6a603671c6845f2b824015cd">&#9670;&#160;</a></span>async_read() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Buf , typename Condition , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read </td>
<td>(</td>
<td class="paramtype">Buf const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Condition&#160;</td>
<td class="paramname"><em>cond</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00243">243</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a1ef0fb1cc28f7c2b3b399fae62c66488" name="a1ef0fb1cc28f7c2b3b399fae62c66488"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ef0fb1cc28f7c2b3b399fae62c66488">&#9670;&#160;</a></span>async_read() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Allocator , typename Condition , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read </td>
<td>(</td>
<td class="paramtype">boost::asio::basic_streambuf&lt; Allocator &gt; &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Condition&#160;</td>
<td class="paramname"><em>cond</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00253">253</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a55c3765f1aad5cd5fea5403a804cf37a" name="a55c3765f1aad5cd5fea5403a804cf37a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a55c3765f1aad5cd5fea5403a804cf37a">&#9670;&#160;</a></span>async_read() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Buf , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_read </td>
<td>(</td>
<td class="paramtype">Buf const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00266">266</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="ac70f21d968a3a3de9a06cf58dd60ef8d" name="ac70f21d968a3a3de9a06cf58dd60ef8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac70f21d968a3a3de9a06cf58dd60ef8d">&#9670;&#160;</a></span>async_write_some()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Seq , typename Handler &gt; </div>
<table class="memname">
<tr>
<td class="memname">void AutoSocket::async_write_some </td>
<td>(</td>
<td class="paramtype">Seq const &amp;&#160;</td>
<td class="paramname"><em>buffers</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Handler&#160;</td>
<td class="paramname"><em>handler</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00276">276</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a244e16b7d8e337c654d592d2fc742a44" name="a244e16b7d8e337c654d592d2fc742a44"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a244e16b7d8e337c654d592d2fc742a44">&#9670;&#160;</a></span>handle_autodetect()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void AutoSocket::handle_autodetect </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classAutoSocket.html#a02703fb82f22f8ab62065d89ce427beb">callback</a>&#160;</td>
<td class="paramname"><em>cbFunc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classAutoSocket.html#a2f0fade8791d3e746191a589349cabef">error_code</a> const &amp;&#160;</td>
<td class="paramname"><em>ec</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>bytesTransferred</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00286">286</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a0626e9ead37567b5988d5e131606169e" name="a0626e9ead37567b5988d5e131606169e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0626e9ead37567b5988d5e131606169e">&#9670;&#160;</a></span>mSocket</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classAutoSocket.html#a4296a902501a58fc261c286602f5ed4e">socket_ptr</a> AutoSocket::mSocket</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00322">322</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a0cb7739349791b0e31ffac09737b5898" name="a0cb7739349791b0e31ffac09737b5898"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cb7739349791b0e31ffac09737b5898">&#9670;&#160;</a></span>mSecure</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool AutoSocket::mSecure</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00323">323</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a7ecbb416ccca7c49d1cb2df15f50958b" name="a7ecbb416ccca7c49d1cb2df15f50958b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ecbb416ccca7c49d1cb2df15f50958b">&#9670;&#160;</a></span>mBuffer</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="elRef" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;char&gt; AutoSocket::mBuffer</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00324">324</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
<a id="a26b53c91bbcacabbda4dd3fdd36a416f" name="a26b53c91bbcacabbda4dd3fdd36a416f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26b53c91bbcacabbda4dd3fdd36a416f">&#9670;&#160;</a></span>j_</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classbeast_1_1Journal.html">beast::Journal</a> AutoSocket::j_</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">private</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="AutoSocket_8h_source.html#l00325">325</a> of file <a class="el" href="AutoSocket_8h_source.html">AutoSocket.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8
</small></address>
</body>
</html>