blob: 7bd3d8225e769f4fb2d8f7df7d82549c4e84f412 [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.IEventLoop Interface 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="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html">IEventLoop</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="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Client.Concurrent.IEventLoop Interface Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Single threaded event processing loop interface. Implementations accept queue'd actions to be processed within the event loop in serial fashion.
<a href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Client.Concurrent.IEventLoop:</div>
<div class="dyncontent">
<div class="center">
<img src="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.png" usemap="#Apache.Qpid.Proton.Client.Concurrent.IEventLoop_map" alt=""/>
<map id="Apache.Qpid.Proton.Client.Concurrent.IEventLoop_map" name="Apache.Qpid.Proton.Client.Concurrent.IEventLoop_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html" title="Default event loop implementation." alt="Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop" shape="rect" coords="0,56,336,80"/>
</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:a5364d8703061b03b2f959628de1fc509"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a5364d8703061b03b2f959628de1fc509">Execute</a> (Action action)</td></tr>
<tr class="memdesc:a5364d8703061b03b2f959628de1fc509"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a5364d8703061b03b2f959628de1fc509">More...</a><br /></td></tr>
<tr class="separator:a5364d8703061b03b2f959628de1fc509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3591a714ee091f3cd3366a0ae336e29f"><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#a3591a714ee091f3cd3366a0ae336e29f">WaitForTermination</a> (TimeSpan waitTime)</td></tr>
<tr class="memdesc:a3591a714ee091f3cd3366a0ae336e29f"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a3591a714ee091f3cd3366a0ae336e29f">More...</a><br /></td></tr>
<tr class="separator:a3591a714ee091f3cd3366a0ae336e29f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3892488c35334090496d3152f99cdf15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a3892488c35334090496d3152f99cdf15">Shutdown</a> ()</td></tr>
<tr class="memdesc:a3892488c35334090496d3152f99cdf15"><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="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1IEventLoop.html#a3892488c35334090496d3152f99cdf15">More...</a><br /></td></tr>
<tr class="separator:a3892488c35334090496d3152f99cdf15"><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:af15f196ac8fb2f324b4a2c9ab7b82bca"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e63e53ff5a4dfb760c903c209ad9cd"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a257a38d4979f795f9cde11e354b31b46"><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"><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"><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>Single threaded event processing loop interface. Implementations accept queue'd actions to be processed within the event loop in serial fashion. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a5364d8703061b03b2f959628de1fc509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5364d8703061b03b2f959628de1fc509">&#9670;&nbsp;</a></span>Execute()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Client.Concurrent.IEventLoop.Execute </td>
<td>(</td>
<td class="paramtype">Action&#160;</td>
<td class="paramname"><em>action</em></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#af764cfb5ffe3c5c2651f4df03c46cc9c">Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop</a>.</p>
</div>
</div>
<a id="a3892488c35334090496d3152f99cdf15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3892488c35334090496d3152f99cdf15">&#9670;&nbsp;</a></span>Shutdown()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Apache.Qpid.Proton.Client.Concurrent.IEventLoop.Shutdown </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#ac1aea1752a19635ae38a29c98d6a279c">Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop</a>.</p>
</div>
</div>
<a id="a3591a714ee091f3cd3366a0ae336e29f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3591a714ee091f3cd3366a0ae336e29f">&#9670;&nbsp;</a></span>WaitForTermination()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Apache.Qpid.Proton.Client.Concurrent.IEventLoop.WaitForTermination </td>
<td>(</td>
<td class="paramtype">TimeSpan&#160;</td>
<td class="paramname"><em>waitTime</em></td><td>)</td>
<td></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>Implemented in <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1Concurrent_1_1DefaultEventLoop.html#aa398fdbf0c4f893d3bd9564e60e89d1d">Apache.Qpid.Proton.Client.Concurrent.DefaultEventLoop</a>.</p>
</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="af15f196ac8fb2f324b4a2c9ab7b82bca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af15f196ac8fb2f324b4a2c9ab7b82bca">&#9670;&nbsp;</a></span>InEventLoop</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.IEventLoop.InEventLoop</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns if the code currently executing is operating within the context of the event loop thread or not. </p>
</div>
</div>
<a id="a13e63e53ff5a4dfb760c903c209ad9cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13e63e53ff5a4dfb760c903c209ad9cd">&#9670;&nbsp;</a></span>IsShutdown</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.IEventLoop.IsShutdown</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the service has been shutdown. </p>
</div>
</div>
<a id="a257a38d4979f795f9cde11e354b31b46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a257a38d4979f795f9cde11e354b31b46">&#9670;&nbsp;</a></span>IsTerminated</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.IEventLoop.IsTerminated</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if a service that was shutdown has completed all shutdown operations. </p>
</div>
</div>
<hr/>The documentation for this interface was generated from the following file:<ul>
<li>src/Proton.Client/Client/Concurrent/IEventLoop.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>