mirror of
https://github.com/westonrobot/ugv_sdk
synced 2023-04-08 06:32:14 +08:00
moved asio folder and tested catkin-isolated build
This commit is contained in:
353
asio/doc/examples/diffs/timeouts/async_tcp_client.cpp.html
Normal file
353
asio/doc/examples/diffs/timeouts/async_tcp_client.cpp.html
Normal file
File diff suppressed because one or more lines are too long
246
asio/doc/examples/diffs/timeouts/blocking_tcp_client.cpp.html
Normal file
246
asio/doc/examples/diffs/timeouts/blocking_tcp_client.cpp.html
Normal file
@@ -0,0 +1,246 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="ltr"
|
||||
xmlns:dc="http://purl.org/dc/terms/">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="diff2html.py (http://git.droids-corp.org/gitweb/?p=diff2html)" />
|
||||
<!--meta name="author" content="Fill in" /-->
|
||||
<title>HTML Diff timeouts/blocking_tcp_client.cpp</title>
|
||||
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEXAAAAAgAD///+K/HwIAAAAJUlEQVQI12NYBQQM2IgGBQ4mCIEQW7oyK4phampkGIQAc1G1AQCRxCNbyW92oQAAAABJRU5ErkJggg==" type="image/png" />
|
||||
<meta property="dc:language" content="en" />
|
||||
<!--meta property="dc:date" content="" /-->
|
||||
<meta property="dc:modified" content="2020-08-15T11:49:40.902579+01:00" />
|
||||
<meta name="description" content="File comparison" />
|
||||
<meta property="dc:abstract" content="File comparison" />
|
||||
<style>
|
||||
table { border:0px; border-collapse:collapse; width: 100%; font-size:0.75em; font-family: Lucida Console, monospace }
|
||||
td.line { color:#8080a0 }
|
||||
th { background: black; color: white }
|
||||
tr.diffunmodified td { background: #D0D0E0 }
|
||||
tr.diffhunk td { background: #A0A0A0 }
|
||||
tr.diffadded td { background: #CCFFCC }
|
||||
tr.diffdeleted td { background: #FFCCCC }
|
||||
tr.diffchanged td { background: #FFFFA0 }
|
||||
span.diffchanged2 { background: #E0C880 }
|
||||
span.diffponct { color: #B08080 }
|
||||
tr.diffmisc td {}
|
||||
tr.diffseparator td {}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table class="diff">
|
||||
<tr><th colspan='2'>src/​examples/​cpp03/​timeouts/​blocking_tcp_client.​cpp</th><th colspan='2'>src/​examples/​cpp11/​timeouts/​blocking_tcp_client.​cpp</th></tr>
|
||||
<tr class="diffhunk"><td colspan="2">⋮</td><td colspan="2">⋮</td></tr><tr class="diffunmodified"><td class="diffline">1 </td><td class="diffpresent">/​/​</td><td class="diffline">1 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_tcp_client.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_tcp_client.​cpp</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~</td><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">4 </td><td class="diffpresent">/​/​</td><td class="diffline">4 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">6 </td><td class="diffpresent">/​/​</td><td class="diffline">6 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">9 </td><td class="diffpresent">/​/​</td><td class="diffline">9 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">10 </td><td class="diffpresent"></td><td class="diffline">10 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​buffer.​hpp"</td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​buffer.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​connect.​hpp"</td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​connect.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​tcp.​hpp"</td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​tcp.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​read_until.​hpp"</td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​read_until.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​system_error.​hpp"</td><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​system_error.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​write.​hpp"</td><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​write.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">19 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td><td class="diffline">19 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td><td class="diffline">20 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">21 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​lambda/​bind.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">22 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​lambda/​lambda.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">23 </td><td class="diffpresent"></td><td class="diffline">21 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td><td class="diffline">22 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">25 </td><td class="diffpresent">using<span class="diffponct">·</span>​boost:​:​lambda:​:​bind;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">26 </td><td class="diffpresent">using<span class="diffponct">·</span>​boost:​:​lambda:​:​var;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">27 </td><td class="diffpresent">using<span class="diffponct">·</span>​boost:​:​lambda:​:​_1;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">28 </td><td class="diffpresent">using<span class="diffponct">·</span>​boost:​:​lambda:​:​_2;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">29 </td><td class="diffpresent"></td><td class="diffline">23 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">30 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">24 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">31 </td><td class="diffpresent"></td><td class="diffline">25 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">32 </td><td class="diffpresent">/​/​</td><td class="diffline">26 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">33 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​class<span class="diffponct">·</span>​manages<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​timeouts<span class="diffponct">·</span>​by<span class="diffponct">·</span>​running<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​using<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timed</td><td class="diffline">27 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​class<span class="diffponct">·</span>​manages<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​timeouts<span class="diffponct">·</span>​by<span class="diffponct">·</span>​running<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​using<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timed</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">34 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​member<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​Each<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​given</td><td class="diffline">28 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​member<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​Each<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​given</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">35 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​within<span class="diffponct">·</span>​which<span class="diffponct">·</span>​it<span class="diffponct">·</span>​must<span class="diffponct">·</span>​complete.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​themselves</td><td class="diffline">29 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​within<span class="diffponct">·</span>​which<span class="diffponct">·</span>​it<span class="diffponct">·</span>​must<span class="diffponct">·</span>​complete.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​themselves</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">36 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>lambda<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">b</span><span class="diffchanged2">j</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span>s<span class="diffponct">·</span>​as<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handlers.​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​a<span class="diffponct">·</span>​given</td><td class="diffline">30 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​lambdas<span class="diffponct">·</span>​as<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handlers.​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​a<span class="diffponct">·</span>​giv<span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">p</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">i</span>en<span class="diffchanged2">t</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">37 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffchanged2">s</span>o<span class="diffchanged2">c</span><span class="diffchanged2">k</span>et<span class="diffponct">·</span>​<span class="diffchanged2">o</span><span class="diffchanged2">p</span><span class="diffchanged2">e</span>r<span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span>n<span class="diffchanged2">,​</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​c<span class="diffchanged2">l</span><span class="diffchanged2">i</span>e<span class="diffchanged2">n</span>t<span class="diffponct">·</span>​ob<span class="diffchanged2">j</span><span class="diffchanged2">e</span>ct<span class="diffchanged2"><span class="diffponct">·</span>​</span>r<span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">t</span><span class="diffchanged2">h</span>e<span class="diffchanged2"><span class="diffponct">·</span>​</span>io<span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span>nt<span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span><span class="diffponct">·</span>​t<span class="diffchanged2">o</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">l</span>o<span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span></td><td class="diffline">31 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​o<span class="diffchanged2">b</span><span class="diffchanged2">j</span>e<span class="diffchanged2">c</span>t<span class="diffponct">·</span>​r<span class="diffchanged2">u</span>n<span class="diffchanged2">s</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span>c<span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span>e<span class="diffchanged2">x</span>t<span class="diffponct">·</span>​<span class="diffchanged2">t</span>o<span class="diffchanged2"><span class="diffponct">·</span>​</span>b<span class="diffchanged2">l</span><span class="diffchanged2">o</span>c<span class="diffchanged2">k</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>t<span class="diffchanged2">h</span>r<span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​<span class="diffchanged2">e</span><span class="diffchanged2">x</span>e<span class="diffchanged2">c</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span>io<span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span>nt<span class="diffchanged2">i</span><span class="diffchanged2">l</span><span class="diffponct">·</span>​t<span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>o<span class="diffchanged2">p</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">38 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">e</span>c<span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">l</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​<span class="diffchanged2">o</span><span class="diffchanged2">p</span>e<span class="diffchanged2">r</span><span class="diffchanged2">a</span>t<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffponct">·</span>​<span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span>e<span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span>o<span class="diffchanged2">u</span>t<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>r<span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2">.​</span><span class="diffponct">·</span>​<span class="diffchanged2">I</span><span class="diffchanged2">f</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>t<span class="diffchanged2">h</span><span class="diffchanged2">e</span></td><td class="diffline">32 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​c<span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span>e<span class="diffchanged2">o</span><span class="diffchanged2">u</span>t<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span>e<span class="diffchanged2">d</span><span class="diffchanged2">.​</span><span class="diffponct">·</span>​<span class="diffchanged2">I</span><span class="diffchanged2">f</span><span class="diffponct">·</span>​the<span class="diffponct">·</span>​<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span>o<span class="diffchanged2">n</span>t<span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>r<span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffponct">·</span>​<span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span>t<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">39 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​i<span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span>o<span class="diffchanged2">n</span>t<span class="diffchanged2">e</span><span class="diffchanged2">x</span>t<span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">r</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffponct">·</span>​<span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span>n<span class="diffponct">·</span>​t<span class="diffchanged2">i</span><span class="diffchanged2">m</span>e<span class="diffchanged2">s</span><span class="diffponct">·</span>​out<span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffponct">·</span>​s<span class="diffchanged2">o</span>c<span class="diffchanged2">k</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span>s<span class="diffponct">·</span>​<span class="diffchanged2">c</span><span class="diffchanged2">l</span>o<span class="diffchanged2">s</span>e<span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>a<span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span></td><td class="diffline">33 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffchanged2">t</span>i<span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>o<span class="diffchanged2">u</span>t<span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>t<span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span>n<span class="diffchanged2">d</span><span class="diffponct">·</span>​t<span class="diffchanged2">h</span>e<span class="diffponct">·</span>​ou<span class="diffchanged2">t</span><span class="diffchanged2">s</span>t<span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">g</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">y</span><span class="diffchanged2">n</span>c<span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">u</span>s<span class="diffponct">·</span>​o<span class="diffchanged2">p</span>e<span class="diffchanged2">r</span>a<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">40 </td><td class="diffpresent">/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">g</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">y</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">p</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffponct">·</span>​is<span class="diffponct">·</span>​cancelled.​</td><td class="diffline">34 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​is<span class="diffponct">·</span>​cancelled.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">41 </td><td class="diffpresent">/​/​</td><td class="diffline">35 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">42 </td><td class="diffpresent">class<span class="diffponct">·</span>​client</td><td class="diffline">36 </td><td class="diffpresent">class<span class="diffponct">·</span>​client</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">43 </td><td class="diffpresent">{</td><td class="diffline">37 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">44 </td><td class="diffpresent">public:​</td><td class="diffline">38 </td><td class="diffpresent">public:​</td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">45 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​client()​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">46 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​socket_(io_context_)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">47 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">48 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">49 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​connect(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​host,​<span class="diffponct">·</span>​const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​service,​</td><td class="diffline">39 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​connect(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​host,​<span class="diffponct">·</span>​const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​service,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td><td class="diffline">40 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Resolve<span class="diffponct">·</span>​the<span class="diffponct">·</span>​host<span class="diffponct">·</span>​name<span class="diffponct">·</span>​and<span class="diffponct">·</span>​service<span class="diffponct">·</span>​to<span class="diffponct">·</span>​a<span class="diffponct">·</span>​list<span class="diffponct">·</span>​of<span class="diffponct">·</span>​endpoints.​</td><td class="diffline">42 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Resolve<span class="diffponct">·</span>​the<span class="diffponct">·</span>​host<span class="diffponct">·</span>​name<span class="diffponct">·</span>​and<span class="diffponct">·</span>​service<span class="diffponct">·</span>​to<span class="diffponct">·</span>​a<span class="diffponct">·</span>​list<span class="diffponct">·</span>​of<span class="diffponct">·</span>​endpoints.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​resolver<span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">u</span><span class="diffchanged2">l</span>t<span class="diffchanged2">s</span>_<span class="diffchanged2">t</span><span class="diffchanged2">y</span><span class="diffchanged2">p</span>e<span class="diffchanged2"><span class="diffponct">·</span>​</span>e<span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span>s<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span></td><td class="diffline">43 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffponct">·</span>​<span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">=</span><span class="diffponct">·</span>​tcp:​:​resolver<span class="diffchanged2">(</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span>t<span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span>_<span class="diffchanged2">)​</span><span class="diffchanged2">.​</span><span class="diffchanged2">r</span>e<span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span>e<span class="diffchanged2">(</span><span class="diffchanged2">h</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">v</span><span class="diffchanged2">i</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">55 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">c</span><span class="diffchanged2">p</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span><span class="diffchanged2">_</span><span class="diffchanged2">)​</span><span class="diffchanged2">.​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">(</span><span class="diffchanged2">h</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">v</span><span class="diffchanged2">i</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">56 </td><td class="diffpresent"></td><td class="diffline">44 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​itself.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">l</span>a<span class="diffchanged2">m</span><span class="diffchanged2">b</span><span class="diffchanged2">d</span><span class="diffchanged2">a</span><span class="diffponct">·</span>​<span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span></td><td class="diffline">45 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​itself.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​<span class="diffchanged2">l</span><span class="diffchanged2">a</span><span class="diffchanged2">m</span><span class="diffchanged2">b</span><span class="diffchanged2">d</span><span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span>a<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">b</span><span class="diffchanged2">j</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffponct">·</span>​callback<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">c</span><span class="diffponct">·</span>​variable<span class="diffponct">·</span>​when<span class="diffponct">·</span>​the</td><td class="diffline">46 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​callback<span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​variable<span class="diffponct">·</span>​when<span class="diffponct">·</span>​th<span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">p</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span>e<span class="diffchanged2">s</span><span class="diffchanged2">.​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">o</span><span class="diffchanged2">p</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">.​</span><span class="diffponct">·</span>​The<span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​you</td><td class="diffline">47 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​yo<span class="diffchanged2">u</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>u<span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">d</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>lambda.​</td><td class="diffline">48 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>lambda.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_connect(socket_​,​<span class="diffponct">·</span>​endpoints,​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">v</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">)​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">1</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_connect(socket_​,​<span class="diffponct">·</span>​endpoints,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​[&](const<span class="diffponct">·</span>​std:​:​error_code&<span class="diffponct">·</span>​result_error,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​const<span class="diffponct">·</span>​tcp:​:​endpoint&<span class="diffponct">·</span>​/​*result_endpoint*/​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​error<span class="diffponct">·</span>​=<span class="diffponct">·</span>​result_error;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​})​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">63 </td><td class="diffpresent"></td><td class="diffline">56 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">66 </td><td class="diffpresent"></td><td class="diffline">59 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">67 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​a<span class="diffponct">·</span>​connection<span class="diffponct">·</span>​was<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​established.​</td><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​a<span class="diffponct">·</span>​connection<span class="diffponct">·</span>​was<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​established.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">c</span>)​</td><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​system_error(e<span class="diffchanged2">c</span>)​;​</td><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​system_error(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">71 </td><td class="diffpresent"></td><td class="diffline">64 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​read_line(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​read_line(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">l</span>a<span class="diffchanged2">m</span><span class="diffchanged2">b</span><span class="diffchanged2">d</span><span class="diffchanged2">a</span><span class="diffponct">·</span>​<span class="diffchanged2">f</span>u<span class="diffchanged2">n</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffponct">·</span>​<span class="diffchanged2">o</span><span class="diffchanged2">b</span><span class="diffchanged2">j</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span></td><td class="diffline">67 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​<span class="diffchanged2">l</span><span class="diffchanged2">a</span><span class="diffchanged2">m</span><span class="diffchanged2">b</span><span class="diffchanged2">d</span><span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span>a<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​u<span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">l</span><span class="diffchanged2">l</span><span class="diffchanged2">b</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">a</span><span class="diffchanged2">l</span><span class="diffchanged2">l</span><span class="diffchanged2">b</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">c</span><span class="diffponct">·</span>​variable<span class="diffponct">·</span>​when<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation</td><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">n</span><span class="diffponct">·</span>​variable<span class="diffchanged2">s</span><span class="diffponct">·</span>​when<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">.​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">T</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">.​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">T</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​you<span class="diffponct">·</span>​can<span class="diffponct">·</span>​use</td><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​you<span class="diffponct">·</span>​can<span class="diffponct">·</span>​u<span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span>e<span class="diffchanged2">r</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>lambda.​</td><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>lambda.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">80 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_read_until(sock​et_,​</td><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_read_until(sock​et_,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​dynamic_buffer(input_​buffer_)​,​</td><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​dynamic_buffer(input_​buffer_)​<span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">'</span><span class="diffchanged2">\</span><span class="diffchanged2">n</span><span class="diffchanged2">'</span>,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">'</span><span class="diffchanged2">\</span>n<span class="diffchanged2">'</span><span class="diffchanged2">,​</span><span class="diffponct">·</span>​<span class="diffchanged2">(</span><span class="diffchanged2">v</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span>e<span class="diffchanged2">c</span><span class="diffchanged2">)​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">1</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">v</span><span class="diffchanged2">a</span>r<span class="diffchanged2">(</span><span class="diffchanged2">n</span><span class="diffchanged2">)​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">2</span><span class="diffchanged2">)​</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">[</span><span class="diffchanged2">&</span><span class="diffchanged2">]</span><span class="diffchanged2">(</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span>n<span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffponct">·</span>​<span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">d</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">d</span><span class="diffchanged2">e</span><span class="diffchanged2">&</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>r<span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">u</span><span class="diffchanged2">l</span><span class="diffchanged2">t</span><span class="diffchanged2">_</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2">,​</span></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​result_n)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​error<span class="diffponct">·</span>​=<span class="diffponct">·</span>​result_error;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​result_n;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">80 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​})​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">83 </td><td class="diffpresent"></td><td class="diffline">81 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td><td class="diffline">83 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">86 </td><td class="diffpresent"></td><td class="diffline">84 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​the<span class="diffponct">·</span>​read<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully.​</td><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​the<span class="diffponct">·</span>​read<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">c</span>)​</td><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​system_error(e<span class="diffchanged2">c</span>)​;​</td><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​system_error(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">90 </td><td class="diffpresent"></td><td class="diffline">88 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line(input_buffer_.​substr(0,​<span class="diffponct">·</span>​n<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1)​)​;​</td><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line(input_buffer_.​substr(0,​<span class="diffponct">·</span>​n<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​input_buffer_.​erase(0,​<span class="diffponct">·</span>​n)​;​</td><td class="diffline">90 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​input_buffer_.​erase(0,​<span class="diffponct">·</span>​n)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​line;​</td><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​line;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">95 </td><td class="diffpresent"></td><td class="diffline">93 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​write_line(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​line,​</td><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​write_line(const<span class="diffponct">·</span>​std:​:​string&<span class="diffponct">·</span>​line,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​data<span class="diffponct">·</span>​=<span class="diffponct">·</span>​line<span class="diffponct">·</span>​+<span class="diffponct">·</span>​"\n";​</td><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​data<span class="diffponct">·</span>​=<span class="diffponct">·</span>​line<span class="diffponct">·</span>​+<span class="diffponct">·</span>​"\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">100 </td><td class="diffpresent"></td><td class="diffline">98 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffchanged2">.​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">T</span><span class="diffchanged2">h</span>e<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>lambda<span class="diffponct">·</span>​<span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span>t<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffponct">·</span>​<span class="diffchanged2">o</span><span class="diffchanged2">b</span><span class="diffchanged2">j</span>e<span class="diffchanged2">c</span><span class="diffchanged2">t</span><span class="diffponct">·</span>​<span class="diffchanged2">i</span>s</td><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">t</span><span class="diffchanged2">s</span>e<span class="diffchanged2">l</span><span class="diffchanged2">f</span><span class="diffchanged2">.​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">T</span><span class="diffchanged2">h</span><span class="diffchanged2">e</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>lambda<span class="diffponct">·</span>​<span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">a</span>t<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">u</span><span class="diffchanged2">s</span>e<span class="diffchanged2">d</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffponct">·</span>​callback<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">c</span><span class="diffponct">·</span>​variable<span class="diffponct">·</span>​when<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation</td><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​callback<span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​variable<span class="diffponct">·</span>​when<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">.​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">.​</span><span class="diffponct">·</span>​The<span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​you<span class="diffponct">·</span>​can<span class="diffponct">·</span>​use</td><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​blocking_udp_client.​cpp<span class="diffponct">·</span>​example<span class="diffponct">·</span>​shows<span class="diffponct">·</span>​how<span class="diffponct">·</span>​you<span class="diffponct">·</span>​can<span class="diffponct">·</span>​use<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">d</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>lambda.​</td><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>lambda.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_write(socket_,​<span class="diffponct">·</span>​asio:​:​buffer(data)​,​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">v</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">)​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">1</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_write(socket_,​<span class="diffponct">·</span>​asio:​:​buffer(data)​,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​[&](const<span class="diffponct">·</span>​std:​:​error_code&<span class="diffponct">·</span>​result_error,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​/​*result_n*/​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​error<span class="diffponct">·</span>​=<span class="diffponct">·</span>​result_error;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​})​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">107 </td><td class="diffpresent"></td><td class="diffline">110 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td><td class="diffline">112 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">110 </td><td class="diffpresent"></td><td class="diffline">113 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​the<span class="diffponct">·</span>​read<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully.​</td><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Determine<span class="diffponct">·</span>​whether<span class="diffponct">·</span>​the<span class="diffponct">·</span>​read<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">112 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">c</span>)​</td><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​system_error(e<span class="diffchanged2">c</span>)​;​</td><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​system_error(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">115 </td><td class="diffpresent"></td><td class="diffline">118 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">116 </td><td class="diffpresent">private:​</td><td class="diffline">119 </td><td class="diffpresent">private:​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​run(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​run(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">121 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td><td class="diffline">122 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td><td class="diffline">123 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">121 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​restart()​;​</td><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​restart()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">122 </td><td class="diffpresent"></td><td class="diffline">125 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">123 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td><td class="diffline">126 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td><td class="diffline">127 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">125 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td><td class="diffline">128 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">126 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td><td class="diffline">129 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">127 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run_for(timeout)​;​</td><td class="diffline">130 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run_for(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">128 </td><td class="diffpresent"></td><td class="diffline">131 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">129 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">130 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">131 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​</td><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context_.​stopped()​)​</td><td class="diffline">135 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context_.​stopped()​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">136 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Close<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td><td class="diffline">137 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Close<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">135 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​close()​;​</td><td class="diffline">138 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​close()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">136 </td><td class="diffpresent"></td><td class="diffline">139 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">137 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td><td class="diffline">140 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">138 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run()​;​</td><td class="diffline">141 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">139 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">142 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">140 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">141 </td><td class="diffpresent"></td><td class="diffline">144 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">142 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context_;​</td><td class="diffline">145 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context_;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​socket<span class="diffponct">·</span>​socket_;​</td><td class="diffline">146 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​socket<span class="diffponct">·</span>​sock<span class="diffchanged2">e</span><span class="diffchanged2">t</span><span class="diffchanged2">_</span><span class="diffchanged2">{</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span>e<span class="diffchanged2">x</span>t_<span class="diffchanged2">}</span>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">144 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​input_buffer_;​</td><td class="diffline">147 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​input_buffer_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">145 </td><td class="diffpresent">};​</td><td class="diffline">148 </td><td class="diffpresent">};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">146 </td><td class="diffpresent"></td><td class="diffline">149 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">147 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">150 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">148 </td><td class="diffpresent"></td><td class="diffline">151 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">149 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td><td class="diffline">152 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">150 </td><td class="diffpresent">{</td><td class="diffline">153 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">151 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td class="diffline">154 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">152 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">155 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">153 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​4)​</td><td class="diffline">156 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​4)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">154 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">157 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">155 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_tcp_client<span class="diffponct">·</span>​<host><span class="diffponct">·</span>​<port><span class="diffponct">·</span>​<message>\n";​</td><td class="diffline">158 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_tcp_client<span class="diffponct">·</span>​<host><span class="diffponct">·</span>​<port><span class="diffponct">·</span>​<message>\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">156 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td><td class="diffline">159 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">157 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">160 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">158 </td><td class="diffpresent"></td><td class="diffline">161 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">159 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​client<span class="diffponct">·</span>​c;​</td><td class="diffline">162 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​client<span class="diffponct">·</span>​c;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">160 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​c.​connect(argv[1],​<span class="diffponct">·</span>​argv[2],​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​)​;​</td><td class="diffline">163 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​c.​connect(argv[1],​<span class="diffponct">·</span>​argv[2],​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">161 </td><td class="diffpresent"></td><td class="diffline">164 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">162 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​as<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span>n<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span></td><td class="diffline">165 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​a<span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​n<span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">163 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span><span class="diffchanged2">y</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">164 </td><td class="diffpresent"></td><td class="diffline">166 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">165 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​c.​write_line(argv[3],​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​)​;​</td><td class="diffline">167 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​c.​write_line(argv[3],​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">166 </td><td class="diffpresent"></td><td class="diffline">168 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">167 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(;​;​)​</td><td class="diffline">169 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(;​;​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">168 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">170 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">169 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line<span class="diffponct">·</span>​=<span class="diffponct">·</span>​c.​read_line(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​)​;​</td><td class="diffline">171 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line<span class="diffponct">·</span>​=<span class="diffponct">·</span>​c.​read_line(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">170 </td><td class="diffpresent"></td><td class="diffline">172 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">171 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Keep<span class="diffponct">·</span>​going<span class="diffponct">·</span>​until<span class="diffponct">·</span>​we<span class="diffponct">·</span>​get<span class="diffponct">·</span>​back<span class="diffponct">·</span>​the<span class="diffponct">·</span>​line<span class="diffponct">·</span>​that<span class="diffponct">·</span>​was<span class="diffponct">·</span>​sent.​</td><td class="diffline">173 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Keep<span class="diffponct">·</span>​going<span class="diffponct">·</span>​until<span class="diffponct">·</span>​we<span class="diffponct">·</span>​get<span class="diffponct">·</span>​back<span class="diffponct">·</span>​the<span class="diffponct">·</span>​line<span class="diffponct">·</span>​that<span class="diffponct">·</span>​was<span class="diffponct">·</span>​sent.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">172 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(line<span class="diffponct">·</span>​==<span class="diffponct">·</span>​argv[3])​</td><td class="diffline">174 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(line<span class="diffponct">·</span>​==<span class="diffponct">·</span>​argv[3])​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">173 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​break;​</td><td class="diffline">175 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​break;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">174 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">176 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">175 </td><td class="diffpresent"></td><td class="diffline">177 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">176 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​as<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span>n<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">i</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span></td><td class="diffline">178 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​a<span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">i</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​n<span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">177 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span><span class="diffchanged2">y</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">178 </td><td class="diffpresent"></td><td class="diffline">179 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">179 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Round<span class="diffponct">·</span>​trip<span class="diffponct">·</span>​time:​<span class="diffponct">·</span>​";​</td><td class="diffline">180 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Round<span class="diffponct">·</span>​trip<span class="diffponct">·</span>​time:​<span class="diffponct">·</span>​";​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">180 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​duration_cast<</td><td class="diffline">181 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​duration_cast<</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">181 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​microseconds>(</td><td class="diffline">182 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​microseconds>(</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">182 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​time_received<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​time_sent)​.​count()​;​</td><td class="diffline">183 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​time_received<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​time_sent)​.​count()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">183 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"<span class="diffponct">·</span>​microseconds\n";​</td><td class="diffline">184 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"<span class="diffponct">·</span>​microseconds\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">184 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">185 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">185 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td><td class="diffline">186 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">186 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">187 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">187 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td><td class="diffline">188 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">188 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">189 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">189 </td><td class="diffpresent"></td><td class="diffline">190 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">190 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td><td class="diffline">191 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">191 </td><td class="diffpresent">}</td><td class="diffline">192 </td><td class="diffpresent">}</td></tr>
|
||||
|
||||
</table>
|
||||
|
||||
<footer>
|
||||
<p>Modified at 15.08.2020. HTML formatting created by <a href="http://git.droids-corp.org/gitweb/?p=diff2html;a=summary">diff2html</a>. </p>
|
||||
</footer>
|
||||
</body></html>
|
||||
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="ltr"
|
||||
xmlns:dc="http://purl.org/dc/terms/">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="diff2html.py (http://git.droids-corp.org/gitweb/?p=diff2html)" />
|
||||
<!--meta name="author" content="Fill in" /-->
|
||||
<title>HTML Diff timeouts/blocking_token_tcp_client.cpp</title>
|
||||
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEXAAAAAgAD///+K/HwIAAAAJUlEQVQI12NYBQQM2IgGBQ4mCIEQW7oyK4phampkGIQAc1G1AQCRxCNbyW92oQAAAABJRU5ErkJggg==" type="image/png" />
|
||||
<meta property="dc:language" content="en" />
|
||||
<!--meta property="dc:date" content="" /-->
|
||||
<meta property="dc:modified" content="2020-08-15T11:49:40.618974+01:00" />
|
||||
<meta name="description" content="File comparison" />
|
||||
<meta property="dc:abstract" content="File comparison" />
|
||||
<style>
|
||||
table { border:0px; border-collapse:collapse; width: 100%; font-size:0.75em; font-family: Lucida Console, monospace }
|
||||
td.line { color:#8080a0 }
|
||||
th { background: black; color: white }
|
||||
tr.diffunmodified td { background: #D0D0E0 }
|
||||
tr.diffhunk td { background: #A0A0A0 }
|
||||
tr.diffadded td { background: #CCFFCC }
|
||||
tr.diffdeleted td { background: #FFCCCC }
|
||||
tr.diffchanged td { background: #FFFFA0 }
|
||||
span.diffchanged2 { background: #E0C880 }
|
||||
span.diffponct { color: #B08080 }
|
||||
tr.diffmisc td {}
|
||||
tr.diffseparator td {}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table class="diff">
|
||||
<tr><th colspan='2'>src/​examples/​cpp03/​timeouts/​blocking_token_tcp_cl​ient.​cpp</th><th colspan='2'>src/​examples/​cpp11/​timeouts/​blocking_token_tcp_cl​ient.​cpp</th></tr>
|
||||
<tr class="diffhunk"><td colspan="2">⋮</td><td colspan="2">⋮</td></tr><tr class="diffunmodified"><td class="diffline">1 </td><td class="diffpresent">/​/​</td><td class="diffline">1 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_token_tcp_cl​ient.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_token_tcp_cl​ient.​cpp</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~~~~~~~</td><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~~~~~~~</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">4 </td><td class="diffpresent">/​/​</td><td class="diffline">4 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">6 </td><td class="diffpresent">/​/​</td><td class="diffline">6 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">9 </td><td class="diffpresent">/​/​</td><td class="diffline">9 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">10 </td><td class="diffpresent"></td><td class="diffline">10 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​connect.​hpp"</td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​connect.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​tcp.​hpp"</td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​tcp.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​read_until.​hpp"</td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​read_until.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​streambuf.​hpp"</td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​streambuf.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​system_error.​hpp"</td><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​system_error.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​write.​hpp"</td><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​write.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">19 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td><td class="diffline">19 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<memory></td><td class="diffline">20 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<memory></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">21 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td><td class="diffline">21 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">22 </td><td class="diffpresent"></td><td class="diffline">22 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">23 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td><td class="diffline">23 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent"></td><td class="diffline">24 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">25 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​We<span class="diffponct">·</span>​will<span class="diffponct">·</span>​use<span class="diffponct">·</span>​our<span class="diffponct">·</span>​sockets<span class="diffponct">·</span>​only<span class="diffponct">·</span>​with<span class="diffponct">·</span>​an<span class="diffponct">·</span>​io_context.​</td><td class="diffline">25 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​We<span class="diffponct">·</span>​will<span class="diffponct">·</span>​use<span class="diffponct">·</span>​our<span class="diffponct">·</span>​sockets<span class="diffponct">·</span>​only<span class="diffponct">·</span>​with<span class="diffponct">·</span>​an<span class="diffponct">·</span>​io_context.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">26 </td><td class="diffpresent">t<span class="diffchanged2">y</span>pe<span class="diffchanged2">d</span><span class="diffchanged2">e</span><span class="diffchanged2">f</span><span class="diffponct">·</span>​asio:​:​basic_stream_socket<<span class="diffchanged2">t​</span><span class="diffchanged2">c</span><span class="diffchanged2">p</span><span class="diffchanged2">,​</span></td><td class="diffline">26 </td><td class="diffpresent"><span class="diffchanged2">u</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">g</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>t<span class="diffchanged2">c</span>p<span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span>e<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffponct">·</span>​asio:​:​basic_stream_socket<</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">27 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context:​:​executor_type><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">c</span><span class="diffchanged2">p</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">e</span><span class="diffchanged2">t</span>;​</td><td class="diffline">27 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">t</span><span class="diffchanged2">c</span><span class="diffchanged2">p</span><span class="diffchanged2">,​</span><span class="diffponct">·</span>​asio:​:​io_context:​:​executor_type>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">28 </td><td class="diffpresent"></td><td class="diffline">28 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">29 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">29 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">30 </td><td class="diffpresent"></td><td class="diffline">30 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">31 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​A<span class="diffponct">·</span>​custom<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​token<span class="diffponct">·</span>​that<span class="diffponct">·</span>​makes<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​behave<span class="diffponct">·</span>​as</td><td class="diffline">31 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​A<span class="diffponct">·</span>​custom<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​token<span class="diffponct">·</span>​that<span class="diffponct">·</span>​makes<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​behave<span class="diffponct">·</span>​as</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">32 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​though<span class="diffponct">·</span>​they<span class="diffponct">·</span>​are<span class="diffponct">·</span>​blocking<span class="diffponct">·</span>​calls<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td><td class="diffline">32 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​though<span class="diffponct">·</span>​they<span class="diffponct">·</span>​are<span class="diffponct">·</span>​blocking<span class="diffponct">·</span>​calls<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">33 </td><td class="diffpresent">struct<span class="diffponct">·</span>​close_after</td><td class="diffline">33 </td><td class="diffpresent">struct<span class="diffponct">·</span>​close_after</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">34 </td><td class="diffpresent">{</td><td class="diffline">34 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">35 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​t,​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​s)​</td><td class="diffline">35 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​t,​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​s)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">36 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​timeout_(t)​,​<span class="diffponct">·</span>​socket_(s)​</td><td class="diffline">36 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​timeout_(t)​,​<span class="diffponct">·</span>​socket_(s)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">37 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">37 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">39 </td><td class="diffpresent"></td><td class="diffline">39 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">40 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​maximum<span class="diffponct">·</span>​time<span class="diffponct">·</span>​to<span class="diffponct">·</span>​wait<span class="diffponct">·</span>​for<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​to<span class="diffponct">·</span>​complete.​</td><td class="diffline">40 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​maximum<span class="diffponct">·</span>​time<span class="diffponct">·</span>​to<span class="diffponct">·</span>​wait<span class="diffponct">·</span>​for<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​to<span class="diffponct">·</span>​complete.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout_;​</td><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">42 </td><td class="diffpresent"></td><td class="diffline">42 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">43 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​be<span class="diffponct">·</span>​closed<span class="diffponct">·</span>​if<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​does<span class="diffponct">·</span>​not<span class="diffponct">·</span>​complete<span class="diffponct">·</span>​in<span class="diffponct">·</span>​time.​</td><td class="diffline">43 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​be<span class="diffponct">·</span>​closed<span class="diffponct">·</span>​if<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​does<span class="diffponct">·</span>​not<span class="diffponct">·</span>​complete<span class="diffponct">·</span>​in<span class="diffponct">·</span>​time.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">44 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​socket_;​</td><td class="diffline">44 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​socket_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">45 </td><td class="diffpresent">};​</td><td class="diffline">45 </td><td class="diffpresent">};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">46 </td><td class="diffpresent"></td><td class="diffline">46 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">47 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​asio<span class="diffponct">·</span>​{</td><td class="diffline">47 </td><td class="diffpresent">namespace<span class="diffponct">·</span>​asio<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">48 </td><td class="diffpresent"></td><td class="diffline">48 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">49 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​async_result<span class="diffponct">·</span>​template<span class="diffponct">·</span>​is<span class="diffponct">·</span>​specialised<span class="diffponct">·</span>​to<span class="diffponct">·</span>​allow<span class="diffponct">·</span>​the<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​token<span class="diffponct">·</span>​to</td><td class="diffline">49 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​async_result<span class="diffponct">·</span>​template<span class="diffponct">·</span>​is<span class="diffponct">·</span>​specialised<span class="diffponct">·</span>​to<span class="diffponct">·</span>​allow<span class="diffponct">·</span>​the<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​token<span class="diffponct">·</span>​to</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">50 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​be<span class="diffponct">·</span>​used<span class="diffponct">·</span>​with<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​that<span class="diffponct">·</span>​have<span class="diffponct">·</span>​a<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​signature<span class="diffponct">·</span>​of</td><td class="diffline">50 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​be<span class="diffponct">·</span>​used<span class="diffponct">·</span>​with<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​that<span class="diffponct">·</span>​have<span class="diffponct">·</span>​a<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​signature<span class="diffponct">·</span>​of</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">51 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​void(error_code,​<span class="diffponct">·</span>​T)​.​<span class="diffponct">·</span>​Generalising<span class="diffponct">·</span>​this<span class="diffponct">·</span>​for<span class="diffponct">·</span>​all<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​signature<span class="diffponct">·</span>​forms<span class="diffponct">·</span>​is</td><td class="diffline">51 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​void(error_code,​<span class="diffponct">·</span>​T)​.​<span class="diffponct">·</span>​Generalising<span class="diffponct">·</span>​this<span class="diffponct">·</span>​for<span class="diffponct">·</span>​all<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​signature<span class="diffponct">·</span>​forms<span class="diffponct">·</span>​is</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">52 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​left<span class="diffponct">·</span>​as<span class="diffponct">·</span>​an<span class="diffponct">·</span>​exercise<span class="diffponct">·</span>​for<span class="diffponct">·</span>​the<span class="diffponct">·</span>​reader.​</td><td class="diffline">52 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​left<span class="diffponct">·</span>​as<span class="diffponct">·</span>​an<span class="diffponct">·</span>​exercise<span class="diffponct">·</span>​for<span class="diffponct">·</span>​the<span class="diffponct">·</span>​reader.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">53 </td><td class="diffpresent">template<span class="diffponct">·</span>​<typename<span class="diffponct">·</span>​T></td><td class="diffline">53 </td><td class="diffpresent">template<span class="diffponct">·</span>​<typename<span class="diffponct">·</span>​T></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">54 </td><td class="diffpresent">class<span class="diffponct">·</span>​async_result<close_af​ter,​<span class="diffponct">·</span>​void(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code,​<span class="diffponct">·</span>​T)​></td><td class="diffline">54 </td><td class="diffpresent">class<span class="diffponct">·</span>​async_result<close_af​ter,​<span class="diffponct">·</span>​void(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code,​<span class="diffponct">·</span>​T)​></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">55 </td><td class="diffpresent">{</td><td class="diffline">55 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">56 </td><td class="diffpresent">public:​</td><td class="diffline">56 </td><td class="diffpresent">public:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​An<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function<span class="diffponct">·</span>​automatically<span class="diffponct">·</span>​creates<span class="diffponct">·</span>​an</td><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​An<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function<span class="diffponct">·</span>​automatically<span class="diffponct">·</span>​creates<span class="diffponct">·</span>​an</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​completion_handler_ty​pe<span class="diffponct">·</span>​object<span class="diffponct">·</span>​from<span class="diffponct">·</span>​the<span class="diffponct">·</span>​token.​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​function<span class="diffponct">·</span>​object<span class="diffponct">·</span>​is</td><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​completion_handler_ty​pe<span class="diffponct">·</span>​object<span class="diffponct">·</span>​from<span class="diffponct">·</span>​the<span class="diffponct">·</span>​token.​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​function<span class="diffponct">·</span>​object<span class="diffponct">·</span>​is</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​called<span class="diffponct">·</span>​on<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​called<span class="diffponct">·</span>​on<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​class<span class="diffponct">·</span>​completion_handler_ty​pe</td><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​class<span class="diffponct">·</span>​completion_handler_ty​pe</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​public:​</td><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​public:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​completion_handler_ty​pe(const<span class="diffponct">·</span>​close_after&<span class="diffponct">·</span>​token)​</td><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​completion_handler_ty​pe(const<span class="diffponct">·</span>​close_after&<span class="diffponct">·</span>​token)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​token_(token)​</td><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​token_(token)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">67 </td><td class="diffpresent"></td><td class="diffline">67 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​operator()​(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>,​<span class="diffponct">·</span>​T<span class="diffponct">·</span>​t)​</td><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​operator()​(<span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffchanged2">&</span><span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>,​<span class="diffponct">·</span>​T<span class="diffponct">·</span>​t)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*e<span class="diffchanged2">c</span>_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*t_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​t;​</td><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*t_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​t;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">73 </td><td class="diffpresent"></td><td class="diffline">73 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​private:​</td><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​private:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​friend<span class="diffponct">·</span>​class<span class="diffponct">·</span>​async_result;​</td><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​friend<span class="diffponct">·</span>​class<span class="diffponct">·</span>​async_result;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​token_;​</td><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​token_;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code*<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>_;​</td><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code*<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​T*<span class="diffponct">·</span>​t_;​</td><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​T*<span class="diffponct">·</span>​t_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​};​</td><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">80 </td><td class="diffpresent"></td><td class="diffline">80 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​async_result<span class="diffponct">·</span>​constructor<span class="diffponct">·</span>​associates<span class="diffponct">·</span>​the<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handler<span class="diffponct">·</span>​object<span class="diffponct">·</span>​with</td><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​async_result<span class="diffponct">·</span>​constructor<span class="diffponct">·</span>​associates<span class="diffponct">·</span>​the<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handler<span class="diffponct">·</span>​object<span class="diffponct">·</span>​with</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​</td><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">83 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​explicit<span class="diffponct">·</span>​async_result(completi​on_handler_type&<span class="diffponct">·</span>​h)​</td><td class="diffline">83 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​explicit<span class="diffponct">·</span>​async_result(completi​on_handler_type&<span class="diffponct">·</span>​h)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​timeout_(h.​token_.​timeout_)​,​</td><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​timeout_(h.​token_.​timeout_)​,​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_(h.​token_.​socket_)​</td><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_(h.​token_.​socket_)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​h.​e<span class="diffchanged2">c</span>_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​&e<span class="diffchanged2">c</span>_;​</td><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​h.​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​&e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​h.​t_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​&t_;​</td><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​h.​t_<span class="diffponct">·</span>​=<span class="diffponct">·</span>​&t_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">90 </td><td class="diffpresent"></td><td class="diffline">90 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​return_type<span class="diffponct">·</span>​typedef<span class="diffponct">·</span>​determines<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​type<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous</td><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​return_type<span class="diffponct">·</span>​typedef<span class="diffponct">·</span>​determines<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​type<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​</td><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​typedef<span class="diffponct">·</span>​T<span class="diffponct">·</span>​return_type;​</td><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​typedef<span class="diffponct">·</span>​T<span class="diffponct">·</span>​return_type;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">94 </td><td class="diffpresent"></td><td class="diffline">94 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​get()​<span class="diffponct">·</span>​function<span class="diffponct">·</span>​is<span class="diffponct">·</span>​used<span class="diffponct">·</span>​to<span class="diffponct">·</span>​obtain<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous</td><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​get()​<span class="diffponct">·</span>​function<span class="diffponct">·</span>​is<span class="diffponct">·</span>​used<span class="diffponct">·</span>​to<span class="diffponct">·</span>​obtain<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result<span class="diffponct">·</span>​of<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​the<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​token,​<span class="diffponct">·</span>​we</td><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation's<span class="diffponct">·</span>​initiating<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​the<span class="diffponct">·</span>​close_after<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​token,​<span class="diffponct">·</span>​we</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​this<span class="diffponct">·</span>​function<span class="diffponct">·</span>​to<span class="diffponct">·</span>​run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​complete.​</td><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​this<span class="diffponct">·</span>​function<span class="diffponct">·</span>​to<span class="diffponct">·</span>​run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​complete.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return_type<span class="diffponct">·</span>​get()​</td><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return_type<span class="diffponct">·</span>​get()​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context&<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​=<span class="diffponct">·</span>​asio:​:​query(</td><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context&<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​=<span class="diffponct">·</span>​asio:​:​query(</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​get_executor()​,​<span class="diffponct">·</span>​asio:​:​execution:​:​context)​;​</td><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​get_executor()​,​<span class="diffponct">·</span>​asio:​:​execution:​:​context)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">102 </td><td class="diffpresent"></td><td class="diffline">102 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​restart()​;​</td><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​restart()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">106 </td><td class="diffpresent"></td><td class="diffline">106 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td><td class="diffline">109 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">110 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td><td class="diffline">110 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​run_for(timeout_)​;​</td><td class="diffline">111 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​run_for(timeout_)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">112 </td><td class="diffpresent"></td><td class="diffline">112 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out<span class="diffponct">·</span>​and<span class="diffponct">·</span>​the</td><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out<span class="diffponct">·</span>​and<span class="diffponct">·</span>​the</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​still<span class="diffponct">·</span>​incomplete.​</td><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​still<span class="diffponct">·</span>​incomplete.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context.​stopped()​)​</td><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context.​stopped()​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Close<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td><td class="diffline">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Close<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​to<span class="diffponct">·</span>​cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​close()​;​</td><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​close()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">121 </td><td class="diffpresent"></td><td class="diffline">121 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">122 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td><td class="diffline">122 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">123 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​run()​;​</td><td class="diffline">123 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context.​run()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">125 </td><td class="diffpresent"></td><td class="diffline">125 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">126 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​failed,​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​an<span class="diffponct">·</span>​exception.​<span class="diffponct">·</span>​Otherwise<span class="diffponct">·</span>​return<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result.​</td><td class="diffline">126 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​failed,​<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​an<span class="diffponct">·</span>​exception.​<span class="diffponct">·</span>​Otherwise<span class="diffponct">·</span>​return<span class="diffponct">·</span>​the<span class="diffponct">·</span>​result.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">127 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>_<span class="diffponct">·</span>​?<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​system_error(e<span class="diffchanged2">c</span>_)​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​t_;​</td><td class="diffline">127 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_<span class="diffponct">·</span>​?<span class="diffponct">·</span>​throw<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​system_error(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_)​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​t_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">128 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">128 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">129 </td><td class="diffpresent"></td><td class="diffline">129 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">130 </td><td class="diffpresent">private:​</td><td class="diffline">130 </td><td class="diffpresent">private:​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">131 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout_;​</td><td class="diffline">131 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​socket_;​</td><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket&<span class="diffponct">·</span>​socket_;​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>_;​</td><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​T<span class="diffponct">·</span>​t_;​</td><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​T<span class="diffponct">·</span>​t_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">135 </td><td class="diffpresent">};​</td><td class="diffline">135 </td><td class="diffpresent">};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">136 </td><td class="diffpresent"></td><td class="diffline">136 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">137 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​asio</td><td class="diffline">137 </td><td class="diffpresent">}<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​asio</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">138 </td><td class="diffpresent"></td><td class="diffline">138 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">139 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">139 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">140 </td><td class="diffpresent"></td><td class="diffline">140 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">141 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td><td class="diffline">141 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">142 </td><td class="diffpresent">{</td><td class="diffline">142 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">144 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">144 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">145 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​4)​</td><td class="diffline">145 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​4)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">146 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">146 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">147 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_tcp_client<span class="diffponct">·</span>​<host><span class="diffponct">·</span>​<port><span class="diffponct">·</span>​<message>\n";​</td><td class="diffline">147 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_tcp_client<span class="diffponct">·</span>​<host><span class="diffponct">·</span>​<port><span class="diffponct">·</span>​<message>\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">148 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td><td class="diffline">148 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">149 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">149 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">150 </td><td class="diffpresent"></td><td class="diffline">150 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">151 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context;​</td><td class="diffline">151 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">152 </td><td class="diffpresent"></td><td class="diffline">152 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">153 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Resolve<span class="diffponct">·</span>​the<span class="diffponct">·</span>​host<span class="diffponct">·</span>​name<span class="diffponct">·</span>​and<span class="diffponct">·</span>​service<span class="diffponct">·</span>​to<span class="diffponct">·</span>​a<span class="diffponct">·</span>​list<span class="diffponct">·</span>​of<span class="diffponct">·</span>​endpoints.​</td><td class="diffline">153 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Resolve<span class="diffponct">·</span>​the<span class="diffponct">·</span>​host<span class="diffponct">·</span>​name<span class="diffponct">·</span>​and<span class="diffponct">·</span>​service<span class="diffponct">·</span>​to<span class="diffponct">·</span>​a<span class="diffponct">·</span>​list<span class="diffponct">·</span>​of<span class="diffponct">·</span>​endpoints.​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">154 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​resolver<span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">u</span><span class="diffchanged2">l</span>t<span class="diffchanged2">s</span><span class="diffchanged2">_</span>t<span class="diffchanged2">y</span><span class="diffchanged2">p</span>e<span class="diffchanged2"><span class="diffponct">·</span>​</span>e<span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">=</span></td><td class="diffline">154 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffponct">·</span>​<span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">s</span><span class="diffponct">·</span>​<span class="diffchanged2">=</span><span class="diffponct">·</span>​tcp:​:​resolver<span class="diffchanged2">(</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span>t<span class="diffchanged2">e</span><span class="diffchanged2">x</span>t<span class="diffchanged2">)​</span><span class="diffchanged2">.​</span><span class="diffchanged2">r</span>e<span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span>e<span class="diffchanged2">(</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">g</span><span class="diffchanged2">v</span><span class="diffchanged2">[</span><span class="diffchanged2">1</span><span class="diffchanged2">]</span><span class="diffchanged2">,​</span><span class="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">g</span><span class="diffchanged2">v</span><span class="diffchanged2">[</span><span class="diffchanged2">2</span><span class="diffchanged2">]</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">155 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">c</span><span class="diffchanged2">p</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span><span class="diffchanged2">)​</span><span class="diffchanged2">.​</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">s</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">(</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">g</span><span class="diffchanged2">v</span><span class="diffchanged2">[</span><span class="diffchanged2">1</span><span class="diffchanged2">]</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">g</span><span class="diffchanged2">v</span><span class="diffchanged2">[</span><span class="diffchanged2">2</span><span class="diffchanged2">]</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">156 </td><td class="diffpresent"></td><td class="diffline">155 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">157 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket<span class="diffponct">·</span>​socket(io_context)​;​</td><td class="diffline">156 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp_socket<span class="diffponct">·</span>​socket(io_context)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">158 </td><td class="diffpresent"></td><td class="diffline">157 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">159 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​connect<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td><td class="diffline">158 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​connect<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">160 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_connect(socket,​<span class="diffponct">·</span>​endpoints,​</td><td class="diffline">159 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_connect(socket,​<span class="diffponct">·</span>​endpoints,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">161 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td><td class="diffline">160 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">162 </td><td class="diffpresent"></td><td class="diffline">161 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">163 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​as<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span>n<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span></td><td class="diffline">162 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​a<span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​n<span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">164 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span><span class="diffchanged2">y</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">165 </td><td class="diffpresent"></td><td class="diffline">163 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">166 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​write<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td><td class="diffline">164 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​write<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">167 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​msg<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[3]<span class="diffponct">·</span>​+<span class="diffponct">·</span>​std:​:​string("\n")​;​</td><td class="diffline">165 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​msg<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[3]<span class="diffponct">·</span>​+<span class="diffponct">·</span>​std:​:​string("\n")​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">168 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_write(socket,​<span class="diffponct">·</span>​asio:​:​buffer(msg)​,​</td><td class="diffline">166 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​async_write(socket,​<span class="diffponct">·</span>​asio:​:​buffer(msg)​,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">169 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td><td class="diffline">167 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">170 </td><td class="diffpresent"></td><td class="diffline">168 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">171 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(std:​:​string<span class="diffponct">·</span>​input_buffer;​;​)​</td><td class="diffline">169 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(std:​:​string<span class="diffponct">·</span>​input_buffer;​;​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">172 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">170 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">173 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​read<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td><td class="diffline">171 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​an<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​read<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​with<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">174 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​asio:​:​async_read_until(sock​et,​</td><td class="diffline">172 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​asio:​:​async_read_until(sock​et,​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">175 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​dynamic_buffer(input_​buffer)​,​<span class="diffponct">·</span>​'\n',​</td><td class="diffline">173 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​dynamic_buffer(input_​buffer)​,​<span class="diffponct">·</span>​'\n',​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">176 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td><td class="diffline">174 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​close_after(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​socket)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">177 </td><td class="diffpresent"></td><td class="diffline">175 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">178 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line(input_buffer.​substr(0,​<span class="diffponct">·</span>​n<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1)​)​;​</td><td class="diffline">176 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line(input_buffer.​substr(0,​<span class="diffponct">·</span>​n<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​1)​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">179 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​input_buffer.​erase(0,​<span class="diffponct">·</span>​n)​;​</td><td class="diffline">177 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​input_buffer.​erase(0,​<span class="diffponct">·</span>​n)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">180 </td><td class="diffpresent"></td><td class="diffline">178 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">181 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Keep<span class="diffponct">·</span>​going<span class="diffponct">·</span>​until<span class="diffponct">·</span>​we<span class="diffponct">·</span>​get<span class="diffponct">·</span>​back<span class="diffponct">·</span>​the<span class="diffponct">·</span>​line<span class="diffponct">·</span>​that<span class="diffponct">·</span>​was<span class="diffponct">·</span>​sent.​</td><td class="diffline">179 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Keep<span class="diffponct">·</span>​going<span class="diffponct">·</span>​until<span class="diffponct">·</span>​we<span class="diffponct">·</span>​get<span class="diffponct">·</span>​back<span class="diffponct">·</span>​the<span class="diffponct">·</span>​line<span class="diffponct">·</span>​that<span class="diffponct">·</span>​was<span class="diffponct">·</span>​sent.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">182 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(line<span class="diffponct">·</span>​==<span class="diffponct">·</span>​argv[3])​</td><td class="diffline">180 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(line<span class="diffponct">·</span>​==<span class="diffponct">·</span>​argv[3])​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">183 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​break;​</td><td class="diffline">181 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​break;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">184 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">182 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">185 </td><td class="diffpresent"></td><td class="diffline">183 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">186 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​as<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​<span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">p</span><span class="diffchanged2">o</span><span class="diffchanged2">i</span>n<span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">i</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span></td><td class="diffline">184 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​a<span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">_</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">i</span><span class="diffchanged2">v</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">=</span><span class="diffchanged2"><span class="diffponct">·</span>​</span>s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​n<span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">187 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">a</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">d</span><span class="diffchanged2">y</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span><span class="diffchanged2">l</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">n</span><span class="diffchanged2">o</span><span class="diffchanged2">w</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">188 </td><td class="diffpresent"></td><td class="diffline">185 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">189 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Round<span class="diffponct">·</span>​trip<span class="diffponct">·</span>​time:​<span class="diffponct">·</span>​";​</td><td class="diffline">186 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Round<span class="diffponct">·</span>​trip<span class="diffponct">·</span>​time:​<span class="diffponct">·</span>​";​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">190 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​duration_cast<</td><td class="diffline">187 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​duration_cast<</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">191 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​microseconds>(</td><td class="diffline">188 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​microseconds>(</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">192 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​time_received<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​time_sent)​.​count()​;​</td><td class="diffline">189 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​time_received<span class="diffponct">·</span>​-​<span class="diffponct">·</span>​time_sent)​.​count()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">193 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"<span class="diffponct">·</span>​microseconds\n";​</td><td class="diffline">190 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"<span class="diffponct">·</span>​microseconds\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">194 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">191 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">195 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td><td class="diffline">192 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">196 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">193 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">197 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td><td class="diffline">194 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">198 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">195 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">199 </td><td class="diffpresent"></td><td class="diffline">196 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">200 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td><td class="diffline">197 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">201 </td><td class="diffpresent">}</td><td class="diffline">198 </td><td class="diffpresent">}</td></tr>
|
||||
|
||||
</table>
|
||||
|
||||
<footer>
|
||||
<p>Modified at 15.08.2020. HTML formatting created by <a href="http://git.droids-corp.org/gitweb/?p=diff2html;a=summary">diff2html</a>. </p>
|
||||
</footer>
|
||||
</body></html>
|
||||
196
asio/doc/examples/diffs/timeouts/blocking_udp_client.cpp.html
Normal file
196
asio/doc/examples/diffs/timeouts/blocking_udp_client.cpp.html
Normal file
@@ -0,0 +1,196 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" dir="ltr"
|
||||
xmlns:dc="http://purl.org/dc/terms/">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="diff2html.py (http://git.droids-corp.org/gitweb/?p=diff2html)" />
|
||||
<!--meta name="author" content="Fill in" /-->
|
||||
<title>HTML Diff timeouts/blocking_udp_client.cpp</title>
|
||||
<link rel="shortcut icon" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEXAAAAAgAD///+K/HwIAAAAJUlEQVQI12NYBQQM2IgGBQ4mCIEQW7oyK4phampkGIQAc1G1AQCRxCNbyW92oQAAAABJRU5ErkJggg==" type="image/png" />
|
||||
<meta property="dc:language" content="en" />
|
||||
<!--meta property="dc:date" content="" /-->
|
||||
<meta property="dc:modified" content="2020-08-15T11:49:40.826802+01:00" />
|
||||
<meta name="description" content="File comparison" />
|
||||
<meta property="dc:abstract" content="File comparison" />
|
||||
<style>
|
||||
table { border:0px; border-collapse:collapse; width: 100%; font-size:0.75em; font-family: Lucida Console, monospace }
|
||||
td.line { color:#8080a0 }
|
||||
th { background: black; color: white }
|
||||
tr.diffunmodified td { background: #D0D0E0 }
|
||||
tr.diffhunk td { background: #A0A0A0 }
|
||||
tr.diffadded td { background: #CCFFCC }
|
||||
tr.diffdeleted td { background: #FFCCCC }
|
||||
tr.diffchanged td { background: #FFFFA0 }
|
||||
span.diffchanged2 { background: #E0C880 }
|
||||
span.diffponct { color: #B08080 }
|
||||
tr.diffmisc td {}
|
||||
tr.diffseparator td {}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table class="diff">
|
||||
<tr><th colspan='2'>src/​examples/​cpp03/​timeouts/​blocking_udp_client.​cpp</th><th colspan='2'>src/​examples/​cpp11/​timeouts/​blocking_udp_client.​cpp</th></tr>
|
||||
<tr class="diffhunk"><td colspan="2">⋮</td><td colspan="2">⋮</td></tr><tr class="diffunmodified"><td class="diffline">1 </td><td class="diffpresent">/​/​</td><td class="diffline">1 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_udp_client.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​blocking_udp_client.​cpp</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~</td><td class="diffline">3 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​~~~~~~~~~~~~~~~~~~~~~​~~</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">4 </td><td class="diffpresent">/​/​</td><td class="diffline">4 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td><td class="diffline">5 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Copyright<span class="diffponct">·</span>​(c)​<span class="diffponct">·</span>​2003-​2020<span class="diffponct">·</span>​Christopher<span class="diffponct">·</span>​M.​<span class="diffponct">·</span>​Kohlhoff<span class="diffponct">·</span>​(chris<span class="diffponct">·</span>​at<span class="diffponct">·</span>​kohlhoff<span class="diffponct">·</span>​dot<span class="diffponct">·</span>​com)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">6 </td><td class="diffpresent">/​/​</td><td class="diffline">6 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td><td class="diffline">7 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​Distributed<span class="diffponct">·</span>​under<span class="diffponct">·</span>​the<span class="diffponct">·</span>​Boost<span class="diffponct">·</span>​Software<span class="diffponct">·</span>​License,​<span class="diffponct">·</span>​Version<span class="diffponct">·</span>​1.​0.​<span class="diffponct">·</span>​(See<span class="diffponct">·</span>​accompanying</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td><td class="diffline">8 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​file<span class="diffponct">·</span>​LICENSE_1_0.​txt<span class="diffponct">·</span>​or<span class="diffponct">·</span>​copy<span class="diffponct">·</span>​at<span class="diffponct">·</span>​http:​/​/​www.​boost.​org/​LICENSE_1_0.​txt)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">9 </td><td class="diffpresent">/​/​</td><td class="diffline">9 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">10 </td><td class="diffpresent"></td><td class="diffline">10 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​buffer.​hpp"</td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​buffer.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​io_context.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​udp.​hpp"</td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​"asio/​ip/​udp.​hpp"</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<cstdlib></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span>t<span class="diffchanged2">/​</span><span class="diffchanged2">b</span>i<span class="diffchanged2">n</span><span class="diffchanged2">d</span><span class="diffchanged2">/​</span><span class="diffchanged2">b</span><span class="diffchanged2">i</span>n<span class="diffchanged2">d</span><span class="diffchanged2">.​</span><span class="diffchanged2">h</span><span class="diffchanged2">p</span><span class="diffchanged2">p</span>></td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<<span class="diffchanged2">f</span><span class="diffchanged2">u</span><span class="diffchanged2">n</span><span class="diffchanged2">c</span>ti<span class="diffchanged2">o</span>n<span class="diffchanged2">a</span><span class="diffchanged2">l</span>></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">17 </td><td class="diffpresent"></td><td class="diffline">17 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">18 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​udp;​</td><td class="diffline">18 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​udp;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">19 </td><td class="diffpresent">using<span class="diffponct">·</span>​std:​:​placeholders:​:​_1;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">20 </td><td class="diffpresent">using<span class="diffponct">·</span>​std:​:​placeholders:​:​_2;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">19 </td><td class="diffpresent"></td><td class="diffline">21 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">22 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">21 </td><td class="diffpresent"></td><td class="diffline">23 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">22 </td><td class="diffpresent">/​/​</td><td class="diffline">24 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">23 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​class<span class="diffponct">·</span>​manages<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​timeouts<span class="diffponct">·</span>​by<span class="diffponct">·</span>​running<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​using<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timed</td><td class="diffline">25 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​This<span class="diffponct">·</span>​class<span class="diffponct">·</span>​manages<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​timeouts<span class="diffponct">·</span>​by<span class="diffponct">·</span>​running<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​using<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timed</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​member<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​Each<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​given</td><td class="diffline">26 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​member<span class="diffponct">·</span>​function.​<span class="diffponct">·</span>​Each<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​given</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">25 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​within<span class="diffponct">·</span>​which<span class="diffponct">·</span>​it<span class="diffponct">·</span>​must<span class="diffponct">·</span>​complete.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​themselves</td><td class="diffline">27 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​a<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​within<span class="diffponct">·</span>​which<span class="diffponct">·</span>​it<span class="diffponct">·</span>​must<span class="diffponct">·</span>​complete.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​themselves</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">26 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span>st:​:​bind<span class="diffponct">·</span>​to<span class="diffponct">·</span>​specify<span class="diffponct">·</span>​the<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handler:​</td><td class="diffline">28 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​use<span class="diffponct">·</span>​st<span class="diffchanged2">d</span>:​:​bind<span class="diffponct">·</span>​to<span class="diffponct">·</span>​specify<span class="diffponct">·</span>​the<span class="diffponct">·</span>​completion<span class="diffponct">·</span>​handler:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">27 </td><td class="diffpresent">/​/​</td><td class="diffline">29 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">28 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td><td class="diffline">30 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">29 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">31 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">30 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​receive<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">32 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​receive<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">31 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">33 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">32 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td><td class="diffline">34 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">33 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">35 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">34 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​async_-​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td><td class="diffline">36 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​async_-​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">35 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​receive()​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">37 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​receive()​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">36 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​>|<span class="diffponct">·</span>​handle_receive<span class="diffponct">·</span>​|</td><td class="diffline">38 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​>|<span class="diffponct">·</span>​handle_receive<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">37 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td><td class="diffline">39 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​|</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">38 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td><td class="diffline">40 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​+-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​+</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">39 </td><td class="diffpresent">/​/​</td><td class="diffline">41 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">40 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​a<span class="diffponct">·</span>​given<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​client<span class="diffponct">·</span>​object<span class="diffponct">·</span>​runs<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​to<span class="diffponct">·</span>​block</td><td class="diffline">42 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​a<span class="diffponct">·</span>​given<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​client<span class="diffponct">·</span>​object<span class="diffponct">·</span>​runs<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​to<span class="diffponct">·</span>​block</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">41 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​thread<span class="diffponct">·</span>​execution<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes<span class="diffponct">·</span>​or<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​is<span class="diffponct">·</span>​reached.​<span class="diffponct">·</span>​If</td><td class="diffline">43 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​thread<span class="diffponct">·</span>​execution<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes<span class="diffponct">·</span>​or<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout<span class="diffponct">·</span>​is<span class="diffponct">·</span>​reached.​<span class="diffponct">·</span>​If</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">42 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​function<span class="diffponct">·</span>​times<span class="diffponct">·</span>​out,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​is<span class="diffponct">·</span>​closed<span class="diffponct">·</span>​and<span class="diffponct">·</span>​the</td><td class="diffline">44 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for()​<span class="diffponct">·</span>​function<span class="diffponct">·</span>​times<span class="diffponct">·</span>​out,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket<span class="diffponct">·</span>​is<span class="diffponct">·</span>​closed<span class="diffponct">·</span>​and<span class="diffponct">·</span>​the</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">43 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​cancelled.​</td><td class="diffline">45 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​cancelled.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">44 </td><td class="diffpresent">/​/​</td><td class="diffline">46 </td><td class="diffpresent">/​/​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">45 </td><td class="diffpresent">class<span class="diffponct">·</span>​client</td><td class="diffline">47 </td><td class="diffpresent">class<span class="diffponct">·</span>​client</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">46 </td><td class="diffpresent">{</td><td class="diffline">48 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">47 </td><td class="diffpresent">public:​</td><td class="diffline">49 </td><td class="diffpresent">public:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">48 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​client(const<span class="diffponct">·</span>​udp:​:​endpoint&<span class="diffponct">·</span>​listen_endpoint)​</td><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​client(const<span class="diffponct">·</span>​udp:​:​endpoint&<span class="diffponct">·</span>​listen_endpoint)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​socket_(io_context_,​<span class="diffponct">·</span>​listen_endpoint)​</td><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​socket_(io_context_,​<span class="diffponct">·</span>​listen_endpoint)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">52 </td><td class="diffpresent"></td><td class="diffline">54 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">53 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​receive(const<span class="diffponct">·</span>​asio:​:​mutable_buffer&<span class="diffponct">·</span>​buffer,​</td><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​receive(const<span class="diffponct">·</span>​asio:​:​mutable_buffer&<span class="diffponct">·</span>​buffer,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout,​</td><td class="diffline">56 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code&<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>)​</td><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code&<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">56 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">57 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​handle_receive<span class="diffponct">·</span>​function<span class="diffponct">·</span>​used<span class="diffponct">·</span>​as<span class="diffponct">·</span>​a</td><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Start<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​<span class="diffponct">·</span>​The<span class="diffponct">·</span>​handle_receive<span class="diffponct">·</span>​function<span class="diffponct">·</span>​used<span class="diffponct">·</span>​as<span class="diffponct">·</span>​a</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">58 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​callback<span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">c</span><span class="diffponct">·</span>​and<span class="diffponct">·</span>​length<span class="diffponct">·</span>​variables.​</td><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​callback<span class="diffponct">·</span>​will<span class="diffponct">·</span>​update<span class="diffponct">·</span>​the<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​and<span class="diffponct">·</span>​length<span class="diffponct">·</span>​variables.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">59 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​length<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​length<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​async_receive(asio:​:​buffer(buffer)​,​</td><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​async_receive(asio:​:​buffer(buffer)​,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span>st:​:​bind(&client:​:​handle_receive,​</td><td class="diffline">63 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​st<span class="diffchanged2">d</span>:​:​bind(&client:​:​handle_receiv<span class="diffchanged2">e</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">1</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">_</span><span class="diffchanged2">2</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">&</span>e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>,​<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">&</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">g</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">)​</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">62 </td><td class="diffpresent"><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">h</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">s</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">_</span><span class="diffchanged2">1</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">p</span><span class="diffchanged2">l</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">e</span><span class="diffchanged2">h</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span><span class="diffchanged2">s</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">_</span><span class="diffchanged2">2</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">&</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">&</span><span class="diffchanged2">l</span><span class="diffchanged2">e</span><span class="diffchanged2">n</span><span class="diffchanged2">g</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">)​</span><span class="diffchanged2">)​</span><span class="diffchanged2">;​</span><span class="diffchanged2"></span></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">63 </td><td class="diffpresent"></td><td class="diffline">64 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">64 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​until<span class="diffponct">·</span>​it<span class="diffponct">·</span>​completes,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​timeout.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">65 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​run(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">66 </td><td class="diffpresent"></td><td class="diffline">67 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">67 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​length;​</td><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​length;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">69 </td><td class="diffpresent"></td><td class="diffline">70 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">70 </td><td class="diffpresent">private:​</td><td class="diffline">71 </td><td class="diffpresent">private:​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​run(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​run(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​steady_clock:​:​duration<span class="diffponct">·</span>​timeout)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">72 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">73 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Restart<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context,​<span class="diffponct">·</span>​as<span class="diffponct">·</span>​it<span class="diffponct">·</span>​may<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​left<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​"stopped"<span class="diffponct">·</span>​state</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">74 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​by<span class="diffponct">·</span>​a<span class="diffponct">·</span>​previous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​restart()​;​</td><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​restart()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">76 </td><td class="diffpresent"></td><td class="diffline">77 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Block<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​has<span class="diffponct">·</span>​completed,​<span class="diffponct">·</span>​or<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​<span class="diffponct">·</span>​If</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​pending<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​is<span class="diffponct">·</span>​a<span class="diffponct">·</span>​composed<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​deadline</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td><td class="diffline">80 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​applies<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​entire<span class="diffponct">·</span>​operation,​<span class="diffponct">·</span>​rather<span class="diffponct">·</span>​than<span class="diffponct">·</span>​individual<span class="diffponct">·</span>​operations<span class="diffponct">·</span>​on</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">80 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​the<span class="diffponct">·</span>​socket.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run_for(timeout)​;​</td><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run_for(timeout)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">82 </td><td class="diffpresent"></td><td class="diffline">83 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">83 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​the<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completed<span class="diffponct">·</span>​successfully<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">84 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​would<span class="diffponct">·</span>​have<span class="diffponct">·</span>​been<span class="diffponct">·</span>​stopped<span class="diffponct">·</span>​due<span class="diffponct">·</span>​to<span class="diffponct">·</span>​running<span class="diffponct">·</span>​out<span class="diffponct">·</span>​of<span class="diffponct">·</span>​work.​<span class="diffponct">·</span>​If<span class="diffponct">·</span>​it<span class="diffponct">·</span>​was<span class="diffponct">·</span>​not</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​</td><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​stopped,​<span class="diffponct">·</span>​then<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context:​:​run_for<span class="diffponct">·</span>​call<span class="diffponct">·</span>​must<span class="diffponct">·</span>​have<span class="diffponct">·</span>​timed<span class="diffponct">·</span>​out.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context_.​stopped()​)​</td><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(!io_context_.​stopped()​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Cancel<span class="diffponct">·</span>​the<span class="diffponct">·</span>​outstanding<span class="diffponct">·</span>​asynchronous<span class="diffponct">·</span>​operation.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​cancel()​;​</td><td class="diffline">90 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​socket_.​cancel()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">90 </td><td class="diffpresent"></td><td class="diffline">91 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Run<span class="diffponct">·</span>​the<span class="diffponct">·</span>​io_context<span class="diffponct">·</span>​again<span class="diffponct">·</span>​until<span class="diffponct">·</span>​the<span class="diffponct">·</span>​operation<span class="diffponct">·</span>​completes.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run()​;​</td><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​io_context_.​run()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">94 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">95 </td><td class="diffpresent"></td><td class="diffline">96 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">96 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​static<span class="diffponct">·</span>​void<span class="diffponct">·</span>​handle_receive(</td><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​static<span class="diffponct">·</span>​void<span class="diffponct">·</span>​handle_receive(</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">97 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​const<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code&<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>,​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​length,​</td><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​const<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code&<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>,​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​length,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">98 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code*<span class="diffponct">·</span>​out_e<span class="diffchanged2">c</span>,​<span class="diffponct">·</span>​std:​:​size_t*<span class="diffponct">·</span>​out_length)​</td><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code*<span class="diffponct">·</span>​out_e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>,​<span class="diffponct">·</span>​std:​:​size_t*<span class="diffponct">·</span>​out_length)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">99 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*out_e<span class="diffchanged2">c</span><span class="diffponct">·</span>​=<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*out_e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffponct">·</span>​=<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*out_length<span class="diffponct">·</span>​=<span class="diffponct">·</span>​length;​</td><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​*out_length<span class="diffponct">·</span>​=<span class="diffponct">·</span>​length;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">102 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">103 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">103 </td><td class="diffpresent"></td><td class="diffline">104 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">104 </td><td class="diffpresent">private:​</td><td class="diffline">105 </td><td class="diffpresent">private:​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">105 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context_;​</td><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​io_context<span class="diffponct">·</span>​io_context_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​udp:​:​socket<span class="diffponct">·</span>​socket_;​</td><td class="diffline">107 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​udp:​:​socket<span class="diffponct">·</span>​socket_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">107 </td><td class="diffpresent">};​</td><td class="diffline">108 </td><td class="diffpresent">};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">108 </td><td class="diffpresent"></td><td class="diffline">109 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">109 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td><td class="diffline">110 </td><td class="diffpresent">/​/​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​-​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">110 </td><td class="diffpresent"></td><td class="diffline">111 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">111 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td><td class="diffline">112 </td><td class="diffpresent">int<span class="diffponct">·</span>​main(int<span class="diffponct">·</span>​argc,​<span class="diffponct">·</span>​char*<span class="diffponct">·</span>​argv[])​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">112 </td><td class="diffpresent">{</td><td class="diffline">113 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">113 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">114 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​using<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​std;​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​atoi.​</td><td class="diffline">116 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​using<span class="diffponct">·</span>​namespace<span class="diffponct">·</span>​std;​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​For<span class="diffponct">·</span>​atoi.​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">116 </td><td class="diffpresent"></td><td class="diffline">117 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​3)​</td><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​3)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">118 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_udp_client<span class="diffponct">·</span>​<listen_addr><span class="diffponct">·</span>​<listen_port>\n";​</td><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​blocking_udp_client<span class="diffponct">·</span>​<listen_addr><span class="diffponct">·</span>​<listen_port>\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">120 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td><td class="diffline">121 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">121 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">122 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">122 </td><td class="diffpresent"></td><td class="diffline">123 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">123 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​udp:​:​endpoint<span class="diffponct">·</span>​listen_endpoint(</td><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​udp:​:​endpoint<span class="diffponct">·</span>​listen_endpoint(</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">124 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​ip:​:​make_address(argv[1])​,​</td><td class="diffline">125 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​ip:​:​make_address(argv[1])​,​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">125 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​atoi(argv[2])​)​;​</td><td class="diffline">126 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​atoi(argv[2])​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">126 </td><td class="diffpresent"></td><td class="diffline">127 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">127 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​client<span class="diffponct">·</span>​c(listen_endpoint)​;​</td><td class="diffline">128 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​client<span class="diffponct">·</span>​c(listen_endpoint)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">128 </td><td class="diffpresent"></td><td class="diffline">129 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">129 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(;​;​)​</td><td class="diffline">130 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(;​;​)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">130 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">131 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">131 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​char<span class="diffponct">·</span>​data[1024];​</td><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​char<span class="diffponct">·</span>​data[1024];​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">132 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>;​</td><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​error_code<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">133 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​c.​receive(asio:​:​buffer(data)​,​</td><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​c.​receive(asio:​:​buffer(data)​,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">134 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>)​;​</td><td class="diffline">135 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​chrono:​:​seconds(10)​,​<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">135 </td><td class="diffpresent"></td><td class="diffline">136 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">136 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">c</span>)​</td><td class="diffline">137 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">137 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">138 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">138 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Receive<span class="diffponct">·</span>​error:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e<span class="diffchanged2">c</span>.​message()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​<span class="diffponct">·</span>​</td><td class="diffline">139 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Receive<span class="diffponct">·</span>​error:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e<span class="diffchanged2">r</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">r</span>.​message()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​<span class="diffponct">·</span>​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">139 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">140 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">140 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td><td class="diffline">141 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​else</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">141 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">142 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">142 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Received:​<span class="diffponct">·</span>​";​</td><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Received:​<span class="diffponct">·</span>​";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">143 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout.​write(data,​<span class="diffponct">·</span>​n)​;​</td><td class="diffline">144 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout.​write(data,​<span class="diffponct">·</span>​n)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">144 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td><td class="diffline">145 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">145 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">146 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">146 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">147 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">147 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">148 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">148 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td><td class="diffline">149 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">149 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">150 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">150 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td><td class="diffline">151 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Exception:​<span class="diffponct">·</span>​"<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​e.​what()​<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"\n";​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">151 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">152 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">152 </td><td class="diffpresent"></td><td class="diffline">153 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">153 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td><td class="diffline">154 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">154 </td><td class="diffpresent">}</td><td class="diffline">155 </td><td class="diffpresent">}</td></tr>
|
||||
|
||||
</table>
|
||||
|
||||
<footer>
|
||||
<p>Modified at 15.08.2020. HTML formatting created by <a href="http://git.droids-corp.org/gitweb/?p=diff2html;a=summary">diff2html</a>. </p>
|
||||
</footer>
|
||||
</body></html>
|
||||
523
asio/doc/examples/diffs/timeouts/server.cpp.html
Normal file
523
asio/doc/examples/diffs/timeouts/server.cpp.html
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user