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:
204
asio/doc/examples/diffs/spawn/echo_server.cpp.html
Normal file
204
asio/doc/examples/diffs/spawn/echo_server.cpp.html
Normal file
@@ -0,0 +1,204 @@
|
||||
<!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 spawn/echo_server.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:43.091220+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/​spawn/​echo_server.​cpp</th><th colspan='2'>src/​examples/​cpp11/​spawn/​echo_server.​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>​echo_server.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​echo_server.​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/​io_context.​hpp></td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​io_context.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​ip/​tcp.​hpp></td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​ip/​tcp.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​spawn.​hpp></td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​spawn.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​steady_timer.​hpp></td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​steady_timer.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​write.​hpp></td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​write.​hpp></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​bind/​bind.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​shared_ptr.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​enable_shared_from_th​is.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">19 </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="diffadded"><td colspan="2"> </td><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<memory></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent"></td><td class="diffline">18 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">21 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td><td class="diffline">19 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​ip:​:​tcp;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">22 </td><td class="diffpresent"></td><td class="diffline">20 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">23 </td><td class="diffpresent">class<span class="diffponct">·</span>​session<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​public<span class="diffponct">·</span>​<span class="diffchanged2">b</span><span class="diffchanged2">o</span><span class="diffchanged2">o</span>st:​:​enable_shared_from_th​is<session></td><td class="diffline">21 </td><td class="diffpresent">class<span class="diffponct">·</span>​session<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​public<span class="diffponct">·</span>​st<span class="diffchanged2">d</span>:​:​enable_shared_from_th​is<session></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent">{</td><td class="diffline">22 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">25 </td><td class="diffpresent">public:​</td><td class="diffline">23 </td><td class="diffpresent">public:​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">26 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​explicit<span class="diffponct">·</span>​session(asio:​:​io_context&<span class="diffponct">·</span>​io_context)​</td><td class="diffline">24 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​explicit<span class="diffponct">·</span>​session(asio:​:​io_context&<span class="diffponct">·</span>​io_contex<span class="diffchanged2">t</span><span class="diffchanged2">,​</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">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">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span><span class="diffchanged2">e</span>t)​</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>​:​<span class="diffponct">·</span>​s<span class="diffchanged2">t</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span>_(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​m<span class="diffchanged2">a</span><span class="diffchanged2">k</span>e<span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span>(<span class="diffchanged2">i</span>o<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)​)​,​</td><td class="diffline">25 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​:​<span class="diffponct">·</span>​s<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>_(s<span class="diffchanged2">t</span><span class="diffchanged2">d</span>:​:​m<span class="diffchanged2">o</span><span class="diffchanged2">v</span>e(<span class="diffchanged2">s</span>oc<span class="diffchanged2">k</span>et)​)​,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">28 </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">s</span><span class="diffchanged2">o</span><span class="diffchanged2">c</span><span class="diffchanged2">k</span>e<span class="diffchanged2">t</span>_(io_context)​,​</td><td class="diffline">26 </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">t</span><span class="diffchanged2">i</span><span class="diffchanged2">m</span>e<span class="diffchanged2">r</span>_(io_context)​,​</td></tr>
|
||||
<tr class="diffchanged"><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>​t<span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">r</span>_(io_context)​</td><td class="diffline">27 </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">s</span>t<span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span><span class="diffchanged2">d</span>_(io_con<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">g</span><span class="diffchanged2">e</span>t<span class="diffchanged2">_</span>ex<span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">u</span>t<span class="diffchanged2">o</span><span class="diffchanged2">r</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span>)​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">30 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">28 </td><td class="diffpresent"><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>​}</td><td class="diffline">29 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">32 </td><td class="diffpresent"></td><td class="diffline">30 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">33 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​socket&<span class="diffponct">·</span>​socket()​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">34 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">35 </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>​socket_;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">36 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">37 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​go()​</td><td class="diffline">31 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​go()​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">39 </td><td class="diffpresent"><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>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​auto<span class="diffponct">·</span>​self(shared_from_this​()​)​;​</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>​<span class="diffponct">·</span>​asio:​:​spawn(strand_,​</td><td class="diffline">34 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​spawn(strand_,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">41 </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>s<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>se<span class="diffchanged2">s</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span>on<span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">e</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">o</span><span class="diffchanged2">,​</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="diffchanged2">[</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">i</span>s<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">l</span><span class="diffchanged2">f</span><span class="diffchanged2">]</span>(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span>e<span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span>on<span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">x</span><span class="diffchanged2">t</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span><span class="diffchanged2">e</span><span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">)​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">42 </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="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">s</span><span class="diffchanged2">h</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">_</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">,​</span><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">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><span class="diffchanged2">;​</span></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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">{</span></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><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>​try</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​char<span class="diffponct">·</span>​data[128];​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​for<span class="diffponct">·</span>​(;​;​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">41 </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>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​timer_.​expires_from_now(std:​:​chrono:​:​seconds(10)​)​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">43 </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>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​socket_.​async_read_some(asio:​:​buffer(data)​,​<span class="diffponct">·</span>​yield)​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">44 </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>​asio:​:​async_write(socket_,​<span class="diffponct">·</span>​asio:​:​buffer(data,​<span class="diffponct">·</span>​n)​,​<span class="diffponct">·</span>​yield)​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<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">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>​<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">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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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">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>​<span class="diffponct">·</span>​<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="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​timer_.​cancel()​;​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</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>​})​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">53 </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>​<span class="diffponct">·</span>​asio:​:​spawn(strand_,​</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>​asio:​:​spawn(strand_,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">44 </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>s<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>se<span class="diffchanged2">s</span><span class="diffchanged2">s</span><span class="diffchanged2">i</span>on<span class="diffchanged2">:​</span><span class="diffchanged2">:​</span>t<span class="diffchanged2">i</span><span class="diffchanged2">m</span><span class="diffchanged2">e</span><span class="diffchanged2">o</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">,​</span></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>​<span class="diffchanged2">[</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">i</span>s<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">l</span><span class="diffchanged2">f</span><span class="diffchanged2">]</span>(<span class="diffchanged2">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span><span class="diffchanged2">:​</span><span class="diffchanged2">:​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span>e<span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">_</span><span class="diffchanged2">c</span>on<span class="diffchanged2">t</span><span class="diffchanged2">e</span><span class="diffchanged2">x</span>t<span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span><span class="diffchanged2">e</span><span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">)​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">45 </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="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">s</span><span class="diffchanged2">h</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">e</span><span class="diffchanged2">d</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span><span class="diffchanged2">r</span><span class="diffchanged2">o</span><span class="diffchanged2">m</span><span class="diffchanged2">_</span><span class="diffchanged2">t</span><span class="diffchanged2">h</span><span class="diffchanged2">i</span><span class="diffchanged2">s</span><span class="diffchanged2">(</span><span class="diffchanged2">)​</span><span class="diffchanged2">,​</span><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">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><span class="diffchanged2">;​</span></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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">{</span></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(socket_.​is_open()​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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">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>​<span class="diffponct">·</span>​<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:​:​error_code<span class="diffponct">·</span>​ignored_ec;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​timer_.​async_wait(yield[igno​red_ec])​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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>​(timer_.​expires_from_now()​<span class="diffponct">·</span>​<=<span class="diffponct">·</span>​std:​:​chrono:​:​seconds(0)​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​})​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">46 </td><td class="diffpresent"><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>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">47 </td><td class="diffpresent"></td><td class="diffline">66 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">48 </td><td class="diffpresent">private:​</td><td class="diffline">67 </td><td class="diffpresent">private:​</td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​echo(asio:​:​yield_context<span class="diffponct">·</span>​yield)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">50 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">51 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">52 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​char<span class="diffponct">·</span>​data[128];​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​for<span class="diffponct">·</span>​(;​;​)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​timer_.​expires_after(asio:​:​chrono:​:​seconds(10)​)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​n<span class="diffponct">·</span>​=<span class="diffponct">·</span>​socket_.​async_read_some(asio:​:​buffer(data)​,​<span class="diffponct">·</span>​yield)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​<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="diffponct">·</span>​n)​,​<span class="diffponct">·</span>​yield)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">60 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">61 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​catch<span class="diffponct">·</span>​(std:​:​exception&<span class="diffponct">·</span>​e)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">62 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​socket_.​close()​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​timer_.​cancel()​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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 colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">66 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">67 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">68 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​void<span class="diffponct">·</span>​timeout(asio:​:​yield_context<span class="diffponct">·</span>​yield)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(socket_.​is_open()​)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">71 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">72 </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>​asio:​:​error_code<span class="diffponct">·</span>​ignored_ec;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​<span class="diffponct">·</span>​timer_.​async_wait(yield[igno​red_ec])​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​if<span class="diffponct">·</span>​(timer_.​expiry()​<span class="diffponct">·</span>​<=<span class="diffponct">·</span>​asio:​:​steady_timer:​:​clock_type:​:​now()​)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​socket_.​close()​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">78 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">79 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​strand<asio:​:​io_context:​:​executor_type><span class="diffponct">·</span>​strand_;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">80 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​socket<span class="diffponct">·</span>​socket_;​</td><td class="diffline">68 </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">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​steady_timer<span class="diffponct">·</span>​timer_;​</td><td class="diffline">69 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​steady_timer<span class="diffponct">·</span>​timer_;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">70 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​strand<asio:​:​io_context:​:​executor_type><span class="diffponct">·</span>​strand_;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">82 </td><td class="diffpresent">};​</td><td class="diffline">71 </td><td class="diffpresent">};​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">83 </td><td class="diffpresent"></td><td class="diffline">72 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">84 </td><td class="diffpresent">void<span class="diffponct">·</span>​do_accept(asio:​:​io_context&<span class="diffponct">·</span>​io_context,​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">85 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​unsigned<span class="diffponct">·</span>​short<span class="diffponct">·</span>​port,​<span class="diffponct">·</span>​asio:​:​yield_context<span class="diffponct">·</span>​yield)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">86 </td><td class="diffpresent">{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">87 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​acceptor<span class="diffponct">·</span>​acceptor(io_context,​<span class="diffponct">·</span>​tcp:​:​endpoint(tcp:​:​v4()​,​<span class="diffponct">·</span>​port)​)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">88 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">89 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​for<span class="diffponct">·</span>​(;​;​)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">90 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">91 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​asio:​:​error_code<span class="diffponct">·</span>​ec;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">92 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​boost:​:​shared_ptr<session><span class="diffponct">·</span>​new_session(new<span class="diffponct">·</span>​session(io_context)​)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">93 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​acceptor.​async_accept(new_sess​ion-​>socket()​,​<span class="diffponct">·</span>​yield[ec])​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">94 </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>​(!ec)​<span class="diffponct">·</span>​new_session-​>go()​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">95 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">96 </td><td class="diffpresent">}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">97 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">98 </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">73 </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">99 </td><td class="diffpresent">{</td><td class="diffline">74 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">100 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td class="diffline">75 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">101 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">76 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">102 </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>​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>​if<span class="diffponct">·</span>​(argc<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​2)​</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>​{</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>​{</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>​<span class="diffponct">·</span>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​echo_server<span class="diffponct">·</span>​<port>\n";​</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>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​echo_server<span class="diffponct">·</span>​<port>\n";​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</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>​return<span class="diffponct">·</span>​1;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</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>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">107 </td><td class="diffpresent"></td><td class="diffline">82 </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>​asio:​:​io_context<span class="diffponct">·</span>​io_context;​</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>​asio:​:​io_context<span class="diffponct">·</span>​io_context;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">109 </td><td class="diffpresent"></td><td class="diffline">84 </td><td class="diffpresent"></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>​asio:​:​spawn(io_context,​</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>​asio:​:​spawn(io_context,​</td></tr>
|
||||
<tr class="diffchanged"><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>​<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>s<span class="diffchanged2">t</span>:​:​<span class="diffchanged2">b</span>i<span class="diffchanged2">n</span>d<span class="diffchanged2">(</span><span class="diffchanged2">d</span>o<span class="diffchanged2">_</span><span class="diffchanged2">a</span><span class="diffchanged2">c</span><span class="diffchanged2">c</span>e<span class="diffchanged2">p</span><span class="diffchanged2">t</span><span class="diffchanged2">,​</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>​<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">a</span>s<span class="diffchanged2">i</span><span class="diffchanged2">o</span>:​:​<span class="diffchanged2">y</span>i<span class="diffchanged2">e</span><span class="diffchanged2">l</span>d<span class="diffchanged2">_</span><span class="diffchanged2">c</span>o<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 class="diffponct">·</span>​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span>e<span class="diffchanged2">l</span><span class="diffchanged2">d</span><span class="diffchanged2">)​</span></td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">112 </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="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><span class="diffchanged2">s</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">f</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="diffponct">·</span>​<span class="diffchanged2">a</span><span class="diffchanged2">t</span><span class="diffchanged2">o</span><span class="diffchanged2">i</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><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">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><span class="diffchanged2">;​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffchanged2">{</span></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​acceptor<span class="diffponct">·</span>​acceptor(io_context,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​tcp:​:​endpoint(tcp:​:​v4()​,​<span class="diffponct">·</span>​std:​:​atoi(argv[1])​)​)​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">90 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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:​:​error_code<span class="diffponct">·</span>​ec;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​acceptor.​async_accept(socket,​<span class="diffponct">·</span>​yield[ec])​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">96 </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>​if<span class="diffponct">·</span>​(!ec)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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">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="diffponct">·</span>​<span class="diffponct">·</span>​<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:​:​make_shared<session>(​io_context,​<span class="diffponct">·</span>​std:​:​move(socket)​)​-​>go()​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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">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>​<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">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>​})​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">113 </td><td class="diffpresent"></td><td class="diffline">102 </td><td class="diffpresent"></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>​io_context.​run()​;​</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>​io_context.​run()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">115 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">104 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">116 </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">105 </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">117 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">106 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</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>​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">107 </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">119 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">108 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">120 </td><td class="diffpresent"></td><td class="diffline">109 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">121 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td><td class="diffline">110 </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">122 </td><td class="diffpresent">}</td><td class="diffline">111 </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>
|
||||
150
asio/doc/examples/diffs/spawn/parallel_grep.cpp.html
Normal file
150
asio/doc/examples/diffs/spawn/parallel_grep.cpp.html
Normal file
@@ -0,0 +1,150 @@
|
||||
<!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 spawn/parallel_grep.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:43.160689+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/​spawn/​parallel_grep.​cpp</th><th colspan='2'>src/​examples/​cpp11/​spawn/​parallel_grep.​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>​parallel_grep.​cpp</td><td class="diffline">2 </td><td class="diffpresent">/​/​<span class="diffponct">·</span>​parallel_grep.​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/​dispatch.​hpp></td><td class="diffline">11 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​dispatch.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​post.​hpp></td><td class="diffline">12 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​post.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​spawn.​hpp></td><td class="diffline">13 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​spawn.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​strand.​hpp></td><td class="diffline">14 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​strand.​hpp></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​thread_pool.​hpp></td><td class="diffline">15 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<asio/​thread_pool.​hpp></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<boost/​bind/​bind.​hpp></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<fstream></td><td class="diffline">16 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<fstream></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td><td class="diffline">17 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<iostream></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">19 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td><td class="diffline">18 </td><td class="diffpresent">#include<span class="diffponct">·</span>​<string></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">20 </td><td class="diffpresent"></td><td class="diffline">19 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">21 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​dispatch;​</td><td class="diffline">20 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​dispatch;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">22 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​spawn;​</td><td class="diffline">21 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​spawn;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">23 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​strand;​</td><td class="diffline">22 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​strand;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">24 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​thread_pool;​</td><td class="diffline">23 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​thread_pool;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">25 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​yield_context;​</td><td class="diffline">24 </td><td class="diffpresent">using<span class="diffponct">·</span>​asio:​:​yield_context;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">26 </td><td class="diffpresent"></td><td class="diffline">25 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">27 </td><td class="diffpresent">void<span class="diffponct">·</span>​print_match(std:​:​string<span class="diffponct">·</span>​input_file,​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">28 </td><td class="diffpresent">{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">29 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​cout<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​input_file<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​':​'<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​line<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​std:​:​endl;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">30 </td><td class="diffpresent">}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">31 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">32 </td><td class="diffpresent">void<span class="diffponct">·</span>​search_file(std:​:​string<span class="diffponct">·</span>​search_string,​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​input_file,​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">33 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​strand<thread_pool:​:​executor_type><span class="diffponct">·</span>​output_strand,​<span class="diffponct">·</span>​yield_context<span class="diffponct">·</span>​yield)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">34 </td><td class="diffpresent">{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">35 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​ifstream<span class="diffponct">·</span>​is(input_file.​c_str()​)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">36 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​line;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">37 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​line_num<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">38 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(std:​:​getline(is,​<span class="diffponct">·</span>​line)​)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">39 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><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>​If<span class="diffponct">·</span>​we<span class="diffponct">·</span>​find<span class="diffponct">·</span>​a<span class="diffponct">·</span>​match,​<span class="diffponct">·</span>​send<span class="diffponct">·</span>​a<span class="diffponct">·</span>​message<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​output.​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">41 </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>​(line.​find(search_string)​<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos)​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">42 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">43 </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>​dispatch(output_stran​d,​<span class="diffponct">·</span>​boost:​:​bind(&print_match,​<span class="diffponct">·</span>​input_file,​<span class="diffponct">·</span>​line)​)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">44 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">45 </td><td class="diffpresent"></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>​Every<span class="diffponct">·</span>​so<span class="diffponct">·</span>​often<span class="diffponct">·</span>​we<span class="diffponct">·</span>​yield<span class="diffponct">·</span>​control<span class="diffponct">·</span>​to<span class="diffponct">·</span>​another<span class="diffponct">·</span>​coroutine.​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​if<span class="diffponct">·</span>​(++line_num<span class="diffponct">·</span>​%<span class="diffponct">·</span>​10<span class="diffponct">·</span>​==<span class="diffponct">·</span>​0)​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​post(yield)​;​</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">49 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">50 </td><td class="diffpresent">}</td><td colspan="2"></td></tr>
|
||||
<tr class="diffdeleted"><td class="diffline">51 </td><td class="diffpresent"></td><td colspan="2"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">52 </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">26 </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">53 </td><td class="diffpresent">{</td><td class="diffline">27 </td><td class="diffpresent">{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">54 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td><td class="diffline">28 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​try</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">55 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td><td class="diffline">29 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​{</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">56 </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>​2)​</td><td class="diffline">30 </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>​2)​</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>​{</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>​{</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>​<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>​parallel_grep<span class="diffponct">·</span>​<string><span class="diffponct">·</span>​<files.​.​.​>\n";​</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>​std:​:​cerr<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​"Usage:​<span class="diffponct">·</span>​parallel_grep<span class="diffponct">·</span>​<string><span class="diffponct">·</span>​<files.​.​.​>\n";​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​1;​</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>​return<span class="diffponct">·</span>​1;​</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>​}</td><td class="diffline">34 </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">61 </td><td class="diffpresent"></td><td class="diffline">35 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><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>​We<span class="diffponct">·</span>​use<span class="diffponct">·</span>​a<span class="diffponct">·</span>​fixed<span class="diffponct">·</span>​size<span class="diffponct">·</span>​pool<span class="diffponct">·</span>​of<span class="diffponct">·</span>​threads<span class="diffponct">·</span>​for<span class="diffponct">·</span>​reading<span class="diffponct">·</span>​the<span class="diffponct">·</span>​input<span class="diffponct">·</span>​files.​<span class="diffponct">·</span>​The</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>​We<span class="diffponct">·</span>​use<span class="diffponct">·</span>​a<span class="diffponct">·</span>​fixed<span class="diffponct">·</span>​size<span class="diffponct">·</span>​pool<span class="diffponct">·</span>​of<span class="diffponct">·</span>​threads<span class="diffponct">·</span>​for<span class="diffponct">·</span>​reading<span class="diffponct">·</span>​the<span class="diffponct">·</span>​input<span class="diffponct">·</span>​files.​<span class="diffponct">·</span>​The</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>​/​/​<span class="diffponct">·</span>​number<span class="diffponct">·</span>​of<span class="diffponct">·</span>​threads<span class="diffponct">·</span>​is<span class="diffponct">·</span>​automatically<span class="diffponct">·</span>​determined<span class="diffponct">·</span>​based<span class="diffponct">·</span>​on<span class="diffponct">·</span>​the<span class="diffponct">·</span>​number<span class="diffponct">·</span>​of</td><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>​number<span class="diffponct">·</span>​of<span class="diffponct">·</span>​threads<span class="diffponct">·</span>​is<span class="diffponct">·</span>​automatically<span class="diffponct">·</span>​determined<span class="diffponct">·</span>​based<span class="diffponct">·</span>​on<span class="diffponct">·</span>​the<span class="diffponct">·</span>​number<span class="diffponct">·</span>​of</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>​CPUs<span class="diffponct">·</span>​available<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​system.​</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>​CPUs<span class="diffponct">·</span>​available<span class="diffponct">·</span>​in<span class="diffponct">·</span>​the<span class="diffponct">·</span>​system.​</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>​thread_pool<span class="diffponct">·</span>​pool;​</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>​thread_pool<span class="diffponct">·</span>​pool;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">66 </td><td class="diffpresent"></td><td class="diffline">40 </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>​To<span class="diffponct">·</span>​prevent<span class="diffponct">·</span>​the<span class="diffponct">·</span>​output<span class="diffponct">·</span>​from<span class="diffponct">·</span>​being<span class="diffponct">·</span>​garbled,​<span class="diffponct">·</span>​we<span class="diffponct">·</span>​use<span class="diffponct">·</span>​a<span class="diffponct">·</span>​strand<span class="diffponct">·</span>​to<span class="diffponct">·</span>​synchronise</td><td class="diffline">41 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​To<span class="diffponct">·</span>​prevent<span class="diffponct">·</span>​the<span class="diffponct">·</span>​output<span class="diffponct">·</span>​from<span class="diffponct">·</span>​being<span class="diffponct">·</span>​garbled,​<span class="diffponct">·</span>​we<span class="diffponct">·</span>​use<span class="diffponct">·</span>​a<span class="diffponct">·</span>​strand<span class="diffponct">·</span>​to<span class="diffponct">·</span>​synchronise</td></tr>
|
||||
<tr class="diffunmodified"><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>​printing.​</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>​printing.​</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>​strand<thread_pool:​:​executor_type><span class="diffponct">·</span>​output_strand(pool.​get_executor()​)​;​</td><td class="diffline">43 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​strand<thread_pool:​:​executor_type><span class="diffponct">·</span>​output_strand(pool.​get_executor()​)​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">70 </td><td class="diffpresent"></td><td class="diffline">44 </td><td class="diffpresent"></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>​Spawn<span class="diffponct">·</span>​a<span class="diffponct">·</span>​new<span class="diffponct">·</span>​coroutine<span class="diffponct">·</span>​for<span class="diffponct">·</span>​each<span class="diffponct">·</span>​file<span class="diffponct">·</span>​specified<span class="diffponct">·</span>​on<span class="diffponct">·</span>​the<span class="diffponct">·</span>​command<span class="diffponct">·</span>​line.​</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>​Spawn<span class="diffponct">·</span>​a<span class="diffponct">·</span>​new<span class="diffponct">·</span>​coroutine<span class="diffponct">·</span>​for<span class="diffponct">·</span>​each<span class="diffponct">·</span>​file<span class="diffponct">·</span>​specified<span class="diffponct">·</span>​on<span class="diffponct">·</span>​the<span class="diffponct">·</span>​command<span class="diffponct">·</span>​line.​</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>​std:​:​string<span class="diffponct">·</span>​search_string<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[1];​</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>​std:​:​string<span class="diffponct">·</span>​search_string<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[1];​</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>​for<span class="diffponct">·</span>​(int<span class="diffponct">·</span>​argn<span class="diffponct">·</span>​=<span class="diffponct">·</span>​2;​<span class="diffponct">·</span>​argn<span class="diffponct">·</span>​<<span class="diffponct">·</span>​argc;​<span class="diffponct">·</span>​++argn)​</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>​for<span class="diffponct">·</span>​(int<span class="diffponct">·</span>​argn<span class="diffponct">·</span>​=<span class="diffponct">·</span>​2;​<span class="diffponct">·</span>​argn<span class="diffponct">·</span>​<<span class="diffponct">·</span>​argc;​<span class="diffponct">·</span>​++argn)​</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>​{</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>​{</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​input_file<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[argn];​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​string<span class="diffponct">·</span>​input_file<span class="diffponct">·</span>​=<span class="diffponct">·</span>​argv[argn];​</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="diffponct">·</span>​<span class="diffponct">·</span>​spawn(p<span class="diffchanged2">o</span><span class="diffchanged2">o</span><span class="diffchanged2">l</span><span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span>oo<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><span class="diffchanged2">&</span><span class="diffchanged2">s</span><span class="diffchanged2">e</span><span class="diffchanged2">a</span><span class="diffchanged2">r</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span><span class="diffchanged2">i</span>l<span class="diffchanged2">e</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">a</span><span class="diffchanged2">r</span><span class="diffchanged2">c</span><span class="diffchanged2">h</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">r</span><span class="diffchanged2">i</span><span class="diffchanged2">n</span><span class="diffchanged2">g</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​spawn(pool,​</td></tr>
|
||||
<tr class="diffchanged"><td class="diffline">77 </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="diffponct">·</span>​<span class="diffponct">·</span>​<span class="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">i</span><span class="diffchanged2">n</span><span class="diffchanged2">p</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">_</span><span class="diffchanged2">f</span>i<span class="diffchanged2">l</span>e<span class="diffchanged2">,​</span><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">p</span><span class="diffchanged2">u</span><span class="diffchanged2">t</span><span class="diffchanged2">_</span><span class="diffchanged2">s</span><span class="diffchanged2">t</span><span class="diffchanged2">r</span><span class="diffchanged2">a</span><span class="diffchanged2">n</span>d<span class="diffchanged2">,​</span><span class="diffchanged2"><span class="diffponct">·</span>​</span><span class="diffchanged2">b</span><span class="diffchanged2">o</span>o<span class="diffchanged2">s</span>t<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>e<span class="diffchanged2">h</span><span class="diffchanged2">o</span>ld<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></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>​<span class="diffchanged2">[</span><span class="diffchanged2">=</span><span class="diffchanged2">]</span><span class="diffchanged2">(</span><span class="diffchanged2">y</span>ie<span class="diffchanged2">l</span>d<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 class="diffponct">·</span>​</span><span class="diffchanged2">y</span><span class="diffchanged2">i</span>eld)​</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>​{</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​ifstream<span class="diffponct">·</span>​is(input_file.​c_str()​)​;​</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>​std:​:​string<span class="diffponct">·</span>​line;​</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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​std:​:​size_t<span class="diffponct">·</span>​line_num<span class="diffponct">·</span>​=<span class="diffponct">·</span>​0;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​while<span class="diffponct">·</span>​(std:​:​getline(is,​<span class="diffponct">·</span>​line)​)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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">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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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>​we<span class="diffponct">·</span>​find<span class="diffponct">·</span>​a<span class="diffponct">·</span>​match,​<span class="diffponct">·</span>​send<span class="diffponct">·</span>​a<span class="diffponct">·</span>​message<span class="diffponct">·</span>​to<span class="diffponct">·</span>​the<span class="diffponct">·</span>​output.​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<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.​find(search_string)​<span class="diffponct">·</span>​!=<span class="diffponct">·</span>​std:​:​string:​:​npos)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<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">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="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​dispatch(output_stran​d,​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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">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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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">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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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>​input_file<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​':​'<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​line<span class="diffponct">·</span>​<<<span class="diffponct">·</span>​std:​:​endl;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<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">66 </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>​}</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </td><td class="diffline">67 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​/​/​<span class="diffponct">·</span>​Every<span class="diffponct">·</span>​so<span class="diffponct">·</span>​often<span class="diffponct">·</span>​we<span class="diffponct">·</span>​yield<span class="diffponct">·</span>​control<span class="diffponct">·</span>​to<span class="diffponct">·</span>​another<span class="diffponct">·</span>​coroutine.​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<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_num<span class="diffponct">·</span>​%<span class="diffponct">·</span>​10<span class="diffponct">·</span>​==<span class="diffponct">·</span>​0)​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​post(yield)​;​</td></tr>
|
||||
<tr class="diffadded"><td colspan="2"> </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>​<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">72 </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">78 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​<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>​<span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">79 </td><td class="diffpresent"></td><td class="diffline">74 </td><td class="diffpresent"></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>​Join<span class="diffponct">·</span>​the<span class="diffponct">·</span>​thread<span class="diffponct">·</span>​pool<span class="diffponct">·</span>​to<span class="diffponct">·</span>​wait<span class="diffponct">·</span>​for<span class="diffponct">·</span>​all<span class="diffponct">·</span>​the<span class="diffponct">·</span>​spawned<span class="diffponct">·</span>​tasks<span class="diffponct">·</span>​to<span class="diffponct">·</span>​complete.​</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>​Join<span class="diffponct">·</span>​the<span class="diffponct">·</span>​thread<span class="diffponct">·</span>​pool<span class="diffponct">·</span>​to<span class="diffponct">·</span>​wait<span class="diffponct">·</span>​for<span class="diffponct">·</span>​all<span class="diffponct">·</span>​the<span class="diffponct">·</span>​spawned<span class="diffponct">·</span>​tasks<span class="diffponct">·</span>​to<span class="diffponct">·</span>​complete.​</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>​pool.​join()​;​</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>​pool.​join()​;​</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">82 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">77 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">83 </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">78 </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">84 </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">85 </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">80 </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">86 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td><td class="diffline">81 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​}</td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">87 </td><td class="diffpresent"></td><td class="diffline">82 </td><td class="diffpresent"></td></tr>
|
||||
<tr class="diffunmodified"><td class="diffline">88 </td><td class="diffpresent"><span class="diffponct">·</span>​<span class="diffponct">·</span>​return<span class="diffponct">·</span>​0;​</td><td class="diffline">83 </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">89 </td><td class="diffpresent">}</td><td class="diffline">84 </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>
|
||||
Reference in New Issue
Block a user