blob: 261eeb390c8349193c518fa0da4d19fd980a8347 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Proton DotNet
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client.html">Client</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent.html">Concurrent</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html">DefaultEventLoop</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Default event loop implementation.
<a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop:</div>
<div class="dyncontent">
<div class="center">
<img src="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.png" usemap="#Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop_map" alt=""/>
<map id="Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop_map" name="Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html" title="Single threaded event processing loop interface. Implementations accept queue&#39;d actions to be process..." alt="Apache.Qpid.Proton.Client.Concurrent.IEventLoop" shape="rect" coords="0,0,336,24"/>
</map>
</div></div>
<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:ac1aea1752a19635ae38a29c98d6a279c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#ac1aea1752a19635ae38a29c98d6a279c">Shutdown</a> ()</td></tr>
<tr class="memdesc:ac1aea1752a19635ae38a29c98d6a279c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests an orderly shut down of the service whereby previously submitted tasks will still be allowed to execute but any new tasks will be rejected. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#ac1aea1752a19635ae38a29c98d6a279c">More...</a><br /></td></tr>
<tr class="separator:ac1aea1752a19635ae38a29c98d6a279c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa398fdbf0c4f893d3bd9564e60e89d1d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#aa398fdbf0c4f893d3bd9564e60e89d1d">WaitForTermination</a> (TimeSpan waitTime)</td></tr>
<tr class="memdesc:aa398fdbf0c4f893d3bd9564e60e89d1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows a caller to wait the given time span for the service to completely shut down and terminate all service operations. If the wait return before the service has fully shutdown it will return false. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#aa398fdbf0c4f893d3bd9564e60e89d1d">More...</a><br /></td></tr>
<tr class="separator:aa398fdbf0c4f893d3bd9564e60e89d1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af764cfb5ffe3c5c2651f4df03c46cc9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#af764cfb5ffe3c5c2651f4df03c46cc9c">Execute</a> (Action action)</td></tr>
<tr class="memdesc:af764cfb5ffe3c5c2651f4df03c46cc9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute some action at a future time in order of submission. The event loop implementation must guarantee that events never execute concurrently or out of order. <a href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#af764cfb5ffe3c5c2651f4df03c46cc9c">More...</a><br /></td></tr>
<tr class="separator:af764cfb5ffe3c5c2651f4df03c46cc9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a4366d4560c2b9c9d734b883d650d7218"><td class="memItemLeft" align="right" valign="top"><a id="a4366d4560c2b9c9d734b883d650d7218"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>InEventLoop</b><code> [get]</code></td></tr>
<tr class="separator:a4366d4560c2b9c9d734b883d650d7218"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30b692af0e42aad362f2cbb8905d69fd"><td class="memItemLeft" align="right" valign="top"><a id="a30b692af0e42aad362f2cbb8905d69fd"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsShutdown</b><code> [get]</code></td></tr>
<tr class="separator:a30b692af0e42aad362f2cbb8905d69fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8a0ffb15e09e8dd52370e19c7f707ed"><td class="memItemLeft" align="right" valign="top"><a id="ae8a0ffb15e09e8dd52370e19c7f707ed"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsTerminated</b><code> [get]</code></td></tr>
<tr class="separator:ae8a0ffb15e09e8dd52370e19c7f707ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html">Apache.Qpid.Proton.Client.Concurrent.IEventLoop</a></td></tr>
<tr class="memitem:af15f196ac8fb2f324b4a2c9ab7b82bca inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#af15f196ac8fb2f324b4a2c9ab7b82bca">InEventLoop</a><code> [get]</code></td></tr>
<tr class="memdesc:af15f196ac8fb2f324b4a2c9ab7b82bca inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns if the code currently executing is operating within the context of the event loop thread or not. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#af15f196ac8fb2f324b4a2c9ab7b82bca">More...</a><br /></td></tr>
<tr class="separator:af15f196ac8fb2f324b4a2c9ab7b82bca inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e63e53ff5a4dfb760c903c209ad9cd inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a13e63e53ff5a4dfb760c903c209ad9cd">IsShutdown</a><code> [get]</code></td></tr>
<tr class="memdesc:a13e63e53ff5a4dfb760c903c209ad9cd inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the service has been shutdown. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a13e63e53ff5a4dfb760c903c209ad9cd">More...</a><br /></td></tr>
<tr class="separator:a13e63e53ff5a4dfb760c903c209ad9cd inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257a38d4979f795f9cde11e354b31b46 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a257a38d4979f795f9cde11e354b31b46">IsTerminated</a><code> [get]</code></td></tr>
<tr class="memdesc:a257a38d4979f795f9cde11e354b31b46 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if a service that was shutdown has completed all shutdown operations. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a257a38d4979f795f9cde11e354b31b46">More...</a><br /></td></tr>
<tr class="separator:a257a38d4979f795f9cde11e354b31b46 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Default event loop implementation. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af764cfb5ffe3c5c2651f4df03c46cc9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af764cfb5ffe3c5c2651f4df03c46cc9c">&#9670;&nbsp;</a></span>Execute()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop.Execute </td>
<td>(</td>
<td class="paramtype">Action&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Execute some action at a future time in order of submission. The event loop implementation must guarantee that events never execute concurrently or out of order. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">action</td><td>The action to be performed</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">ArgumentNullException</td><td>If the provided action is null</td></tr>
<tr><td class="paramname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1RejectedExecutionException.html" title="Exception that is thrown when a &quot;Task&quot; or &quot;Action&quot; that is submitted to an executor implementation is...">RejectedExecutionException</a></td><td>If the action is rejected</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a5364d8703061b03b2f959628de1fc509">Apache.Qpid.Proton.Client.Concurrent.IEventLoop</a>.</p>
</div>
</div>
<a id="ac1aea1752a19635ae38a29c98d6a279c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac1aea1752a19635ae38a29c98d6a279c">&#9670;&nbsp;</a></span>Shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop.Shutdown </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Requests an orderly shut down of the service whereby previously submitted tasks will still be allowed to execute but any new tasks will be rejected. </p>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a3892488c35334090496d3152f99cdf15">Apache.Qpid.Proton.Client.Concurrent.IEventLoop</a>.</p>
</div>
</div>
<a id="aa398fdbf0c4f893d3bd9564e60e89d1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa398fdbf0c4f893d3bd9564e60e89d1d">&#9670;&nbsp;</a></span>WaitForTermination()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop.WaitForTermination </td>
<td>(</td>
<td class="paramtype">TimeSpan&#160;</td>
<td class="paramname"><em>waitTime</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Allows a caller to wait the given time span for the service to completely shut down and terminate all service operations. If the wait return before the service has fully shutdown it will return false. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">waitTime</td><td>The time to wait for complete shutdown</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true if the service fully shut down, otherwise returns false.</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a3591a714ee091f3cd3366a0ae336e29f">Apache.Qpid.Proton.Client.Concurrent.IEventLoop</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton.Client/Client/Concurrent/DefaultEventloop.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>