<span class="keyword">template</span><span class="special"><</span>
<span class="keyword">class</span> <span class="identifier">AsyncReadStream</span><span class="special">,</span>
<span class="keyword">class</span> <span class="identifier">DynamicBuffer</span><span class="special">,</span>
- <span class="keyword">class</span> <span class="identifier">CompletionToken</span><span class="special">></span>
+ <span class="keyword">class</span> <span class="identifier">CompletionToken</span> <span class="special">=</span>
+ <span class="identifier">net</span><span class="special">::</span><span class="identifier">default_completion_token_t</span><span class="special"><</span><span class="identifier">beast</span><span class="special">::</span><span class="identifier">executor_type</span><span class="special"><</span><span class="identifier">AsyncReadStream</span><span class="special">>></span>
+<span class="special">></span>
<span class="preprocessor">#if</span> <span class="identifier">BOOST_BEAST_DOXYGEN</span>
<span class="identifier">BOOST_ASIO_INITFN_RESULT_TYPE</span><span class="special">(</span><span class="identifier">CompletionToken</span><span class="special">,</span> <span class="keyword">void</span><span class="special">(</span><span class="identifier">error_code</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">))</span>
<span class="preprocessor">#else</span>
<span class="identifier">async_detect_ssl</span><span class="special">(</span>
<span class="identifier">AsyncReadStream</span><span class="special">&</span> <span class="identifier">stream</span><span class="special">,</span>
<span class="identifier">DynamicBuffer</span><span class="special">&</span> <span class="identifier">buffer</span><span class="special">,</span>
- <span class="identifier">CompletionToken</span><span class="special">&&</span> <span class="identifier">token</span><span class="special">)</span> <span class="special">-></span>
+ <span class="identifier">CompletionToken</span><span class="special">&&</span> <span class="identifier">token</span> <span class="special">=</span> <span class="identifier">net</span><span class="special">::</span><span class="identifier">default_completion_token_t</span><span class="special"><</span>
+ <span class="identifier">beast</span><span class="special">::</span><span class="identifier">executor_type</span><span class="special"><</span><span class="identifier">AsyncReadStream</span><span class="special">>>{})</span> <span class="special">-></span>
<span class="keyword">typename</span> <span class="identifier">net</span><span class="special">::</span><span class="identifier">async_result</span><span class="special"><</span>
<span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">decay</span><span class="special"><</span><span class="identifier">CompletionToken</span><span class="special">>::</span><span class="identifier">type</span><span class="special">,</span> <a class="co" name="beast.using_io.writing_composed_operations.detect_ssl.c0" href="detect_ssl.html#beast.using_io.writing_composed_operations.detect_ssl.c1"><img src="../../../../../../../doc/src/images/callouts/1.png" alt="1" border="0"></a>
<span class="keyword">void</span><span class="special">(</span><span class="identifier">error_code</span><span class="special">,</span> <span class="keyword">bool</span><span class="special">)>::</span><span class="identifier">return_type</span><span class="special">;</span> <a class="co" name="beast.using_io.writing_composed_operations.detect_ssl.c2" href="detect_ssl.html#beast.using_io.writing_composed_operations.detect_ssl.c3"><img src="../../../../../../../doc/src/images/callouts/2.png" alt="2" border="0"></a>