Skip to content
This repository has been archived by the owner on Apr 6, 2019. It is now read-only.

Commit

Permalink
refactore the set_nb_workers in the io service (make it effectively w…
Browse files Browse the repository at this point in the history
…ork and less error prone). When calling io_service->mark, reset the entire state (including executing callbacks).
  • Loading branch information
Cylix committed Nov 26, 2017
1 parent b91797c commit 328d5d7
Show file tree
Hide file tree
Showing 24 changed files with 89 additions and 90 deletions.
2 changes: 1 addition & 1 deletion docs/html/classtacopie_1_1io__service-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
<p>This is the complete list of members for <a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#abb66850c32d9c724f4418d77bd04bcfd">event_callback_t</a> typedef</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#a62edde9b62571610413d99d075df8102">io_service</a>(std::size_t nb_threads=__TACOPIE_IO_SERVICE_NB_WORKERS)</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#a4cd4a873cb4457cdc28bd2d00665d15a">io_service</a>(void)</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#ad5da7503d8fec083c6d28455ec9e21c7">io_service</a>(const io_service &amp;)=delete</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#a980652008516b38357d405c16eda07fa">operator=</a>(const io_service &amp;)=delete</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1io__service.html#a7e2b0700c0a4591f86c344df8748b3a5">set_nb_workers</a>(std::size_t nb_threads)</td><td class="entry"><a class="el" href="classtacopie_1_1io__service.html">tacopie::io_service</a></td><td class="entry"></td></tr>
Expand Down
20 changes: 7 additions & 13 deletions docs/html/classtacopie_1_1io__service.html
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a62edde9b62571610413d99d075df8102"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1io__service.html#a62edde9b62571610413d99d075df8102">io_service</a> (std::size_t nb_threads=__TACOPIE_IO_SERVICE_NB_WORKERS)</td></tr>
<tr class="separator:a62edde9b62571610413d99d075df8102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cd4a873cb4457cdc28bd2d00665d15a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1io__service.html#a4cd4a873cb4457cdc28bd2d00665d15a">io_service</a> (void)</td></tr>
<tr class="separator:a4cd4a873cb4457cdc28bd2d00665d15a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae423d7e4b13f07fe41fb051345ffbf8d"><td class="memItemLeft" align="right" valign="top"><a id="ae423d7e4b13f07fe41fb051345ffbf8d"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1io__service.html#ae423d7e4b13f07fe41fb051345ffbf8d">~io_service</a> (void)</td></tr>
<tr class="memdesc:ae423d7e4b13f07fe41fb051345ffbf8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">dtor <br /></td></tr>
Expand Down Expand Up @@ -130,28 +130,22 @@ <h2 class="memtitle"><span class="permalink"><a href="#abb66850c32d9c724f4418d77
</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a62edde9b62571610413d99d075df8102"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62edde9b62571610413d99d075df8102">&#9670;&nbsp;</a></span>io_service()</h2>
<a id="a4cd4a873cb4457cdc28bd2d00665d15a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cd4a873cb4457cdc28bd2d00665d15a">&#9670;&nbsp;</a></span>io_service()</h2>

<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">tacopie::io_service::io_service </td>
<td>(</td>
<td class="paramtype">std::size_t&#160;</td>
<td class="paramname"><em>nb_threads</em> = <code>__TACOPIE_IO_SERVICE_NB_WORKERS</code></td><td>)</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>ctor</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">nb_threads</td><td>defines the number of background threads that will be used to process read and write callbacks. This must be a strictly positive value. </td></tr>
</table>
</dd>
</dl>
<p>ctor </p>

</div>
</div>
Expand Down
2 changes: 1 addition & 1 deletion docs/html/classtacopie_1_1tcp__client-members.html
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#aeadcfb8cd727b2917ebcd357311d0a6b">operator=</a>(const tcp_client &amp;)=delete</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#af7a1796c04efd00542349ecab692e073">operator==</a>(const tcp_client &amp;rhs) const</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#a8c290d681186edb0578051c04f3c0762">set_on_disconnection_handler</a>(const disconnection_handler_t &amp;disconnection_handler)</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#a0125e1cf017b0ba0370d682d4382d37b">tcp_client</a>(std::uint32_t num_io_workers=1)</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#a9293d5ef2b804f17d778504165ba0c52">tcp_client</a>(void)</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#a773fbcbb5b79324c8d065e363de73282">tcp_client</a>(tcp_socket &amp;&amp;socket)</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"><span class="mlabel">explicit</span></td></tr>
<tr><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html#a5e326782c52f63814cc8f42a901ffaf6">tcp_client</a>(const tcp_client &amp;)=delete</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>~tcp_client</b>(void) (defined in <a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a>)</td><td class="entry"><a class="el" href="classtacopie_1_1tcp__client.html">tacopie::tcp_client</a></td><td class="entry"></td></tr>
Expand Down
8 changes: 4 additions & 4 deletions docs/html/classtacopie_1_1tcp__client.html
Original file line number Diff line number Diff line change
Expand Up @@ -99,10 +99,10 @@
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0125e1cf017b0ba0370d682d4382d37b"><td class="memItemLeft" align="right" valign="top"><a id="a0125e1cf017b0ba0370d682d4382d37b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1tcp__client.html#a0125e1cf017b0ba0370d682d4382d37b">tcp_client</a> (std::uint32_t num_io_workers=1)</td></tr>
<tr class="memdesc:a0125e1cf017b0ba0370d682d4382d37b"><td class="mdescLeft">&#160;</td><td class="mdescRight">ctor &amp; dtor <br /></td></tr>
<tr class="separator:a0125e1cf017b0ba0370d682d4382d37b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9293d5ef2b804f17d778504165ba0c52"><td class="memItemLeft" align="right" valign="top"><a id="a9293d5ef2b804f17d778504165ba0c52"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1tcp__client.html#a9293d5ef2b804f17d778504165ba0c52">tcp_client</a> (void)</td></tr>
<tr class="memdesc:a9293d5ef2b804f17d778504165ba0c52"><td class="mdescLeft">&#160;</td><td class="mdescRight">ctor &amp; dtor <br /></td></tr>
<tr class="separator:a9293d5ef2b804f17d778504165ba0c52"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a773fbcbb5b79324c8d065e363de73282"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtacopie_1_1tcp__client.html#a773fbcbb5b79324c8d065e363de73282">tcp_client</a> (<a class="el" href="classtacopie_1_1tcp__socket.html">tcp_socket</a> &amp;&amp;socket)</td></tr>
<tr class="separator:a773fbcbb5b79324c8d065e363de73282"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e326782c52f63814cc8f42a901ffaf6"><td class="memItemLeft" align="right" valign="top"><a id="a5e326782c52f63814cc8f42a901ffaf6"></a>
Expand Down
4 changes: 2 additions & 2 deletions docs/html/functions.html
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ <h3><a id="index_i"></a>- i -</h3><ul>
, <a class="el" href="classtacopie_1_1logger__iface.html#af176525bca036944f75bad6469860929">tacopie::logger_iface</a>
</li>
<li>io_service()
: <a class="el" href="classtacopie_1_1io__service.html#a62edde9b62571610413d99d075df8102">tacopie::io_service</a>
: <a class="el" href="classtacopie_1_1io__service.html#a4cd4a873cb4457cdc28bd2d00665d15a">tacopie::io_service</a>
</li>
<li>is_connected()
: <a class="el" href="classtacopie_1_1tcp__client.html#a9bf568812c8350260843842e7952c8c3">tacopie::tcp_client</a>
Expand Down Expand Up @@ -315,7 +315,7 @@ <h3><a id="index_t"></a>- t -</h3><ul>
: <a class="el" href="classtacopie_1_1utils_1_1thread__pool.html#a8ae8886fdeaa8e5c0abad12626a47296">tacopie::utils::thread_pool</a>
</li>
<li>tcp_client()
: <a class="el" href="classtacopie_1_1tcp__client.html#a0125e1cf017b0ba0370d682d4382d37b">tacopie::tcp_client</a>
: <a class="el" href="classtacopie_1_1tcp__client.html#a9293d5ef2b804f17d778504165ba0c52">tacopie::tcp_client</a>
</li>
<li>tcp_server()
: <a class="el" href="classtacopie_1_1tcp__server.html#a4f67a38a0764924768cbcc7cf68527bf">tacopie::tcp_server</a>
Expand Down
2 changes: 1 addition & 1 deletion docs/html/functions_func.html
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ <h3><a id="index_i"></a>- i -</h3><ul>
, <a class="el" href="classtacopie_1_1logger__iface.html#af176525bca036944f75bad6469860929">tacopie::logger_iface</a>
</li>
<li>io_service()
: <a class="el" href="classtacopie_1_1io__service.html#a62edde9b62571610413d99d075df8102">tacopie::io_service</a>
: <a class="el" href="classtacopie_1_1io__service.html#a4cd4a873cb4457cdc28bd2d00665d15a">tacopie::io_service</a>
</li>
<li>is_connected()
: <a class="el" href="classtacopie_1_1tcp__client.html#a9bf568812c8350260843842e7952c8c3">tacopie::tcp_client</a>
Expand Down
8 changes: 4 additions & 4 deletions docs/html/io__service_8hpp_source.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/html/search/all_6.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/html/search/all_c.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/html/search/functions_6.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion docs/html/search/functions_c.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions docs/html/tcp__client_8hpp_source.html

Large diffs are not rendered by default.

Loading

0 comments on commit 328d5d7

Please sign in to comment.