blob: 0d9b5f15caf615ae57ee431f66e8a65ed667424b [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.Engine.Implementation.ProtonEngine 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_1Engine.html">Engine</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation.html">Implementation</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html">ProtonEngine</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_1Engine_1_1Implementation_1_1ProtonEngine-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Apache.Qpid.Proton.Engine.Implementation.ProtonEngine Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Creates instance of delivery tags that have an empty byte buffer body
<a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Engine.Implementation.ProtonEngine:</div>
<div class="dyncontent">
<div class="center">
<img src="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.png" usemap="#Apache.Qpid.Proton.Engine.Implementation.ProtonEngine_map" alt=""/>
<map id="Apache.Qpid.Proton.Engine.Implementation.ProtonEngine_map" name="Apache.Qpid.Proton.Engine.Implementation.ProtonEngine_map">
<area href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html" title="Defines an AMQP Protocol Engine interface that should be used to implement an AMQP Engine." alt="Apache.Qpid.Proton.Engine.IEngine" shape="rect" coords="0,0,337,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:a6c136d00668d3c2ba0e8e64febc50668"><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_1Engine_1_1Implementation_1_1ProtonEngine.html#a6c136d00668d3c2ba0e8e64febc50668">RegisterSaslDriver</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a> saslDriver)</td></tr>
<tr class="memdesc:a6c136d00668d3c2ba0e8e64febc50668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows for registration of a custom <a class="el" href="">EngineSaslDriver</a> that will convey SASL state and configuration for this engine. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a6c136d00668d3c2ba0e8e64febc50668">More...</a><br /></td></tr>
<tr class="separator:a6c136d00668d3c2ba0e8e64febc50668"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28482f8fd7a9ab0084ed540e4f7ff5ec"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IConnection.html">IConnection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a28482f8fd7a9ab0084ed540e4f7ff5ec">Start</a> ()</td></tr>
<tr class="memdesc:a28482f8fd7a9ab0084ed540e4f7ff5ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts the engine and returns the Connection instance that is bound to this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a>. A non-started <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> will not allow ingestion of any inbound data and a Connection linked to the engine that was obtained from the engine cannot produce any outbound data. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a28482f8fd7a9ab0084ed540e4f7ff5ec">More...</a><br /></td></tr>
<tr class="separator:a28482f8fd7a9ab0084ed540e4f7ff5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a115c01ae4d659b10848f8716d179f4ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a115c01ae4d659b10848f8716d179f4ff">Shutdown</a> ()</td></tr>
<tr class="memdesc:a115c01ae4d659b10848f8716d179f4ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shutdown the engine preventing any future outbound or inbound processing. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a115c01ae4d659b10848f8716d179f4ff">More...</a><br /></td></tr>
<tr class="separator:a115c01ae4d659b10848f8716d179f4ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b7f7746f3de64550fa01ac882ecc3f1"><td class="memItemLeft" align="right" valign="top">long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a4b7f7746f3de64550fa01ac882ecc3f1">Tick</a> (long currentTime)</td></tr>
<tr class="memdesc:a4b7f7746f3de64550fa01ac882ecc3f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prompt the engine to perform idle-timeout/heartbeat handling, and return an absolute deadline in milliseconds that tick must again be called by/at, based on the provided current time in milliseconds, to ensure the periodic work is carried out as necessary. It is an error to call this method if the connection has not been opened. A returned deadline of 0 indicates there is no periodic work necessitating tick be called, e.g. because neither peer has defined an idle-timeout value. The provided milliseconds time values should be derived from a monotonic source such as a system tick counter to prevent wall clock changes leading to erroneous behavior. Note that for some monotonic time sources deadline could be a different sign than the originally given value, and so (if non-zero) the returned deadline should have the current time originally provided subtracted from it in order to establish a relative time delay to the next deadline. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a4b7f7746f3de64550fa01ac882ecc3f1">More...</a><br /></td></tr>
<tr class="separator:a4b7f7746f3de64550fa01ac882ecc3f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a840a55ae76698eb85af0c0c48f20c2d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a840a55ae76698eb85af0c0c48f20c2d2">TickAuto</a> (TaskFactory taskFactory)</td></tr>
<tr class="memdesc:a840a55ae76698eb85af0c0c48f20c2d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allows the engine to manage idle timeout processing by providing it the single threaded task scheduler where all transport work is done which ensures singled threaded access while removing the need for the client library or server application to manage calls to the tick processing methods. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a840a55ae76698eb85af0c0c48f20c2d2">More...</a><br /></td></tr>
<tr class="separator:a840a55ae76698eb85af0c0c48f20c2d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49b8e8ba4b809a506de1aafe416d1cb0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a49b8e8ba4b809a506de1aafe416d1cb0">Ingest</a> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> input)</td></tr>
<tr class="memdesc:a49b8e8ba4b809a506de1aafe416d1cb0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide data input for this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> from some external source. If the engine is not writable when this method is called an EngineNotWritableException will be thrown unless the reason for the not writable state is due to engine failure or the engine already having been shut down in which case the appropriate EngineStateException will be thrown to indicate the reason. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a49b8e8ba4b809a506de1aafe416d1cb0">More...</a><br /></td></tr>
<tr class="separator:a49b8e8ba4b809a506de1aafe416d1cb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af83c391248803d7a5e47e35bde368ae7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Exceptions_1_1EngineStateException.html">EngineStateException</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#af83c391248803d7a5e47e35bde368ae7">EngineFailed</a> (Exception cause)</td></tr>
<tr class="memdesc:af83c391248803d7a5e47e35bde368ae7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transition the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> to a failed state if not already closed or closing. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#af83c391248803d7a5e47e35bde368ae7">More...</a><br /></td></tr>
<tr class="separator:af83c391248803d7a5e47e35bde368ae7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af87569391449a9c93b19fef37b5d1d9c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#af87569391449a9c93b19fef37b5d1d9c">ErrorHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> &gt; handler)</td></tr>
<tr class="memdesc:af87569391449a9c93b19fef37b5d1d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a handler instance that will be notified when the engine encounters a fatal error. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#af87569391449a9c93b19fef37b5d1d9c">More...</a><br /></td></tr>
<tr class="separator:af87569391449a9c93b19fef37b5d1d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cc4f26c1ece7739980787f254a74835"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a4cc4f26c1ece7739980787f254a74835">OutputHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>, Action &gt; handler)</td></tr>
<tr class="memdesc:a4cc4f26c1ece7739980787f254a74835"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a Action instance that will be notified when data from the engine is ready to be written to some output sink (socket etc). The Action value provided to the handler (if non-null) should be invoked once the I/O operation has completely successfully. In the event of an error writing the data the handler should throw an error or if performed asynchronously the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> should be marked failed via a call to the engine failed API. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a4cc4f26c1ece7739980787f254a74835">More...</a><br /></td></tr>
<tr class="separator:a4cc4f26c1ece7739980787f254a74835"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8eae4ea221bb7e77adfb51832dc43914"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a8eae4ea221bb7e77adfb51832dc43914">ShutdownHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> &gt; handler)</td></tr>
<tr class="memdesc:a8eae4ea221bb7e77adfb51832dc43914"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a handler instance that will be notified when the engine is shut down via a call to the engine shutdown method. <a href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEngine.html#a8eae4ea221bb7e77adfb51832dc43914">More...</a><br /></td></tr>
<tr class="separator:a8eae4ea221bb7e77adfb51832dc43914"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addf4b59b757a80cd91ced8a6e1b7e887"><td class="memItemLeft" align="right" valign="top"><a id="addf4b59b757a80cd91ced8a6e1b7e887"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>RunIdleTimeoutTask</b> ()</td></tr>
<tr class="separator:addf4b59b757a80cd91ced8a6e1b7e887"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">Apache.Qpid.Proton.Engine.IEngine</a></td></tr>
<tr class="memitem:a3c2e1c7bbf1a6dbefbe89cd7465a2145 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a3c2e1c7bbf1a6dbefbe89cd7465a2145">Ingest</a> (byte[] input)</td></tr>
<tr class="memdesc:a3c2e1c7bbf1a6dbefbe89cd7465a2145 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide data input for this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> from some external source. If the engine is not writable when this method is called an EngineNotWritableException will be thrown unless the reason for the not writable state is due to engine failure or the engine already having been shut down in which case the appropriate EngineStateException will be thrown to indicate the reason. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a3c2e1c7bbf1a6dbefbe89cd7465a2145">More...</a><br /></td></tr>
<tr class="separator:a3c2e1c7bbf1a6dbefbe89cd7465a2145 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6053a293fb40bbcb615da53d3b0b8de2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a6053a293fb40bbcb615da53d3b0b8de2">OutputHandler</a> (Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> &gt; handler)</td></tr>
<tr class="memdesc:a6053a293fb40bbcb615da53d3b0b8de2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a Action instance that will be notified when data from the engine is ready to be written to some output sink (socket etc). In the event of an error writing the data the handler should throw an error or if performed asynchronously the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> should be marked failed via a call to the engine failed API. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a6053a293fb40bbcb615da53d3b0b8de2">More...</a><br /></td></tr>
<tr class="separator:a6053a293fb40bbcb615da53d3b0b8de2 inherit pub_methods_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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:a1eda05083114878a265f5e0fce5af384"><td class="memItemLeft" align="right" valign="top"><a id="a1eda05083114878a265f5e0fce5af384"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IConnection.html">IConnection</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Connection</b><code> [get]</code></td></tr>
<tr class="separator:a1eda05083114878a265f5e0fce5af384"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f17fc1836c299953c5b0d84dbc38c04"><td class="memItemLeft" align="right" valign="top"><a id="a2f17fc1836c299953c5b0d84dbc38c04"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsFailed</b><code> [get]</code></td></tr>
<tr class="separator:a2f17fc1836c299953c5b0d84dbc38c04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b3faf131e8e3f3cb8fe55d006148e7e"><td class="memItemLeft" align="right" valign="top"><a id="a0b3faf131e8e3f3cb8fe55d006148e7e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsRunning</b><code> [get]</code></td></tr>
<tr class="separator:a0b3faf131e8e3f3cb8fe55d006148e7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4623af89435177e227da4dab73f560e2"><td class="memItemLeft" align="right" valign="top"><a id="a4623af89435177e227da4dab73f560e2"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsShutdown</b><code> [get]</code></td></tr>
<tr class="separator:a4623af89435177e227da4dab73f560e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c4ecada59fb514a86aee582a4f8c99f"><td class="memItemLeft" align="right" valign="top"><a id="a9c4ecada59fb514a86aee582a4f8c99f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>IsWritable</b><code> [get]</code></td></tr>
<tr class="separator:a9c4ecada59fb514a86aee582a4f8c99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b1e08d89bac7df8c160765ad1d27c9"><td class="memItemLeft" align="right" valign="top"><a id="a78b1e08d89bac7df8c160765ad1d27c9"></a>
Exception&#160;</td><td class="memItemRight" valign="bottom"><b>FailureCause</b><code> [get]</code></td></tr>
<tr class="separator:a78b1e08d89bac7df8c160765ad1d27c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a881429405654971b8c8cefc5915fec18"><td class="memItemLeft" align="right" valign="top"><a id="a881429405654971b8c8cefc5915fec18"></a>
<a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a7b8a1fec0430a4a0ecf3711bc94e80f6">EngineState</a>&#160;</td><td class="memItemRight" valign="bottom"><b>EngineState</b><code> [get]</code></td></tr>
<tr class="separator:a881429405654971b8c8cefc5915fec18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99cce68873f5c495df5a2b8e3efc9900"><td class="memItemLeft" align="right" valign="top"><a id="a99cce68873f5c495df5a2b8e3efc9900"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineConfiguration.html">IEngineConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Configuration</b><code> [get]</code></td></tr>
<tr class="separator:a99cce68873f5c495df5a2b8e3efc9900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a658e2a6e3cf303308fecf93a1400d4e8"><td class="memItemLeft" align="right" valign="top"><a id="a658e2a6e3cf303308fecf93a1400d4e8"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEnginePipeline.html">IEnginePipeline</a>&#160;</td><td class="memItemRight" valign="bottom"><b>Pipeline</b><code> [get]</code></td></tr>
<tr class="separator:a658e2a6e3cf303308fecf93a1400d4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb208046da2328a50808826a270117a1"><td class="memItemLeft" align="right" valign="top"><a id="acb208046da2328a50808826a270117a1"></a>
<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a>&#160;</td><td class="memItemRight" valign="bottom"><b>SaslDriver</b><code> [get]</code></td></tr>
<tr class="separator:acb208046da2328a50808826a270117a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td colspan="2" onclick="javascript:toggleInherit('properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine')"><img src="closed.png" alt="-"/>&#160;Properties inherited from <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">Apache.Qpid.Proton.Engine.IEngine</a></td></tr>
<tr class="memitem:a3310d762ca2304d58a5b82a8887a97ad inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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_1Engine_1_1IEngine.html#a3310d762ca2304d58a5b82a8887a97ad">IsRunning</a><code> [get]</code></td></tr>
<tr class="memdesc:a3310d762ca2304d58a5b82a8887a97ad inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the engine is in the running state and has not failed or been shutdown yet. Will return false until start is called on the engine. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a3310d762ca2304d58a5b82a8887a97ad">More...</a><br /></td></tr>
<tr class="separator:a3310d762ca2304d58a5b82a8887a97ad inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad510923c2fc18445e78a2561d71908d3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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_1Engine_1_1IEngine.html#ad510923c2fc18445e78a2561d71908d3">IsWritable</a><code> [get]</code></td></tr>
<tr class="memdesc:ad510923c2fc18445e78a2561d71908d3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true if the engine is accepting input from the ingestion entry points. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#ad510923c2fc18445e78a2561d71908d3">More...</a><br /></td></tr>
<tr class="separator:ad510923c2fc18445e78a2561d71908d3 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a296418fada749f24024238f644e7122f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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_1Engine_1_1IEngine.html#a296418fada749f24024238f644e7122f">IsShutdown</a><code> [get]</code></td></tr>
<tr class="memdesc:a296418fada749f24024238f644e7122f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the engine has been shutdown which is a terminal state after which no future engine state changes can occur. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a296418fada749f24024238f644e7122f">More...</a><br /></td></tr>
<tr class="separator:a296418fada749f24024238f644e7122f inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69624c07888f42a176b2f3d1f5fea431 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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_1Engine_1_1IEngine.html#a69624c07888f42a176b2f3d1f5fea431">IsFailed</a><code> [get]</code></td></tr>
<tr class="memdesc:a69624c07888f42a176b2f3d1f5fea431 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the engine has entered a failed state either by a call to the engine failed method or by an exception having been thrown and caught. An engine that reports failed will stop after a call to shutdown. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a69624c07888f42a176b2f3d1f5fea431">More...</a><br /></td></tr>
<tr class="separator:a69624c07888f42a176b2f3d1f5fea431 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab87e5badbc83e86d59c6f1e5964eb9b2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top">Exception&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#ab87e5badbc83e86d59c6f1e5964eb9b2">FailureCause</a><code> [get]</code></td></tr>
<tr class="memdesc:ab87e5badbc83e86d59c6f1e5964eb9b2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides an Exception that has information regarding the cause of an engine entering the failed state. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#ab87e5badbc83e86d59c6f1e5964eb9b2">More...</a><br /></td></tr>
<tr class="separator:ab87e5badbc83e86d59c6f1e5964eb9b2 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14a7d6bbc6acc9fafe7cc686041a2f31 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html#a7b8a1fec0430a4a0ecf3711bc94e80f6">EngineState</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a14a7d6bbc6acc9fafe7cc686041a2f31">EngineState</a><code> [get]</code></td></tr>
<tr class="memdesc:a14a7d6bbc6acc9fafe7cc686041a2f31 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the current engine operating state. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a14a7d6bbc6acc9fafe7cc686041a2f31">More...</a><br /></td></tr>
<tr class="separator:a14a7d6bbc6acc9fafe7cc686041a2f31 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d14e682fc9aaafea1d76d61e1d8619 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineConfiguration.html">IEngineConfiguration</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a13d14e682fc9aaafea1d76d61e1d8619">Configuration</a><code> [get]</code></td></tr>
<tr class="memdesc:a13d14e682fc9aaafea1d76d61e1d8619 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the configuration object associated with this engine. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a13d14e682fc9aaafea1d76d61e1d8619">More...</a><br /></td></tr>
<tr class="separator:a13d14e682fc9aaafea1d76d61e1d8619 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a501ca2cc5eec9b3cb3cf7e112d9699a8 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEnginePipeline.html">IEnginePipeline</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a501ca2cc5eec9b3cb3cf7e112d9699a8">Pipeline</a><code> [get]</code></td></tr>
<tr class="memdesc:a501ca2cc5eec9b3cb3cf7e112d9699a8 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the engine pipeline instance associated with this engine. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a501ca2cc5eec9b3cb3cf7e112d9699a8">More...</a><br /></td></tr>
<tr class="separator:a501ca2cc5eec9b3cb3cf7e112d9699a8 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a590607d62d7ea121c490bd4dcac78984 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a590607d62d7ea121c490bd4dcac78984">SaslDriver</a><code> [get]</code></td></tr>
<tr class="memdesc:a590607d62d7ea121c490bd4dcac78984 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the SASL driver that is assigned to this engine. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a590607d62d7ea121c490bd4dcac78984">More...</a><br /></td></tr>
<tr class="separator:a590607d62d7ea121c490bd4dcac78984 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77afdf3c2ffa859f51a36983814aeda0 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IConnection.html">IConnection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a77afdf3c2ffa859f51a36983814aeda0">Connection</a><code> [get]</code></td></tr>
<tr class="memdesc:a77afdf3c2ffa859f51a36983814aeda0 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the Connection instance that is associated with this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> instance. It is valid for an engine implementation to not return a Connection instance prior to the engine having been started although it is recommended that one be available immediately to prevent confusion. <a href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a77afdf3c2ffa859f51a36983814aeda0">More...</a><br /></td></tr>
<tr class="separator:a77afdf3c2ffa859f51a36983814aeda0 inherit properties_interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine"><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>Creates instance of delivery tags that have an empty byte buffer body </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="af83c391248803d7a5e47e35bde368ae7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af83c391248803d7a5e47e35bde368ae7">&#9670;&nbsp;</a></span>EngineFailed()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Exceptions_1_1EngineStateException.html">EngineStateException</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.EngineFailed </td>
<td>(</td>
<td class="paramtype">Exception&#160;</td>
<td class="paramname"><em>cause</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>Transition the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> to a failed state if not already closed or closing. </p>
<p>If called when the engine has not failed the engine will be transitioned to the failed state and the method will return an appropriate EngineFailedException that wraps the given cause. If called after the engine was shutdown the method returns an EngineShutdownException indicating that the engine was already shutdown. Repeated calls to this method while the engine is in the failed state must not alter the original failure error or elicit new engine failed event notifications. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">cause</td><td>The exception that led to the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> being failed</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The exception that caused the engine to be transitioned to the failed state</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a55ea0b0314f5e2b2f060eda699c05657">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="af87569391449a9c93b19fef37b5d1d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af87569391449a9c93b19fef37b5d1d9c">&#9670;&nbsp;</a></span>ErrorHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.ErrorHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> &gt;&#160;</td>
<td class="paramname"><em>handler</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>Sets a handler instance that will be notified when the engine encounters a fatal error. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>The handler that will be invoked on an engine error state</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This engine instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine has failed or was shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a72ad2b81fa6f63c5da7f15cffe37010e">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a49b8e8ba4b809a506de1aafe416d1cb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49b8e8ba4b809a506de1aafe416d1cb0">&#9670;&nbsp;</a></span>Ingest()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.Ingest </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>&#160;</td>
<td class="paramname"><em>input</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>Provide data input for this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> from some external source. If the engine is not writable when this method is called an EngineNotWritableException will be thrown unless the reason for the not writable state is due to engine failure or the engine already having been shut down in which case the appropriate EngineStateException will be thrown to indicate the reason. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">input</td><td>The binary data to ingest into the engine</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineNotWritableException</td><td>If the engine is not currently accepting input</td></tr>
<tr><td class="paramname">EngineStateException</td><td>If the engine state is already failed or shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a2932f16810fc52b1d92bbcaa0a98c0b2">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a4cc4f26c1ece7739980787f254a74835"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4cc4f26c1ece7739980787f254a74835">&#9670;&nbsp;</a></span>OutputHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.OutputHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a>, Action &gt;&#160;</td>
<td class="paramname"><em>handler</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>Sets a Action instance that will be notified when data from the engine is ready to be written to some output sink (socket etc). The Action value provided to the handler (if non-null) should be invoked once the I/O operation has completely successfully. In the event of an error writing the data the handler should throw an error or if performed asynchronously the <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> should be marked failed via a call to the engine failed API. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>The delegate that will be invoked when engine output is available</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This engine instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine has failed or was shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a0e1f69d4a9a9acecee6688d788a9a0ca">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a6c136d00668d3c2ba0e8e64febc50668"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c136d00668d3c2ba0e8e64febc50668">&#9670;&nbsp;</a></span>RegisterSaslDriver()</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.Engine.Implementation.ProtonEngine.RegisterSaslDriver </td>
<td>(</td>
<td class="paramtype"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html">IEngineSaslDriver</a>&#160;</td>
<td class="paramname"><em>saslDriver</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 for registration of a custom <a class="el" href="">EngineSaslDriver</a> that will convey SASL state and configuration for this engine. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">saslDriver</td><td>The SASL driver that this engine should use.</td></tr>
</table>
</dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine has already been shutdown or failed</td></tr>
<tr><td class="paramname">EngineStartedException</td><td>If the engine has already been started</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a115c01ae4d659b10848f8716d179f4ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a115c01ae4d659b10848f8716d179f4ff">&#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"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.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>Shutdown the engine preventing any future outbound or inbound processing. </p>
<p>When the engine is shut down any resources, Connection, Session or Link instances that have an engine shutdown event handler registered will be notified and should react by locally closing that resource if they wish to ensure that the resource's local close event handler gets signaled if that resource is not already locally closed. </p>
<dl class="section return"><dt>Returns</dt><dd>This <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> instance</dd></dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#ad635822810e7bad35f128a370f8d18f1">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a8eae4ea221bb7e77adfb51832dc43914"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8eae4ea221bb7e77adfb51832dc43914">&#9670;&nbsp;</a></span>ShutdownHandler()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.ShutdownHandler </td>
<td>(</td>
<td class="paramtype">Action&lt; <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> &gt;&#160;</td>
<td class="paramname"><em>handler</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>Sets a handler instance that will be notified when the engine is shut down via a call to the engine shutdown method. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">handler</td><td>The handler that will be signalled on engine shutdown</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This engine instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine has failed or was shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a2463e11e9579323cb3f9081f51dfb077">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a28482f8fd7a9ab0084ed540e4f7ff5ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28482f8fd7a9ab0084ed540e4f7ff5ec">&#9670;&nbsp;</a></span>Start()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IConnection.html">IConnection</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.Start </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>Starts the engine and returns the Connection instance that is bound to this <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a>. A non-started <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Engine.html">Engine</a> will not allow ingestion of any inbound data and a Connection linked to the engine that was obtained from the engine cannot produce any outbound data. </p>
<dl class="section return"><dt>Returns</dt><dd>The Connection that is linked to the engine instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine state is already failed or shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a373115069be6eb8de49cf946f11ee314">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a4b7f7746f3de64550fa01ac882ecc3f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b7f7746f3de64550fa01ac882ecc3f1">&#9670;&nbsp;</a></span>Tick()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">long Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.Tick </td>
<td>(</td>
<td class="paramtype">long&#160;</td>
<td class="paramname"><em>current</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>Prompt the engine to perform idle-timeout/heartbeat handling, and return an absolute deadline in milliseconds that tick must again be called by/at, based on the provided current time in milliseconds, to ensure the periodic work is carried out as necessary. It is an error to call this method if the connection has not been opened. A returned deadline of 0 indicates there is no periodic work necessitating tick be called, e.g. because neither peer has defined an idle-timeout value. The provided milliseconds time values should be derived from a monotonic source such as a system tick counter to prevent wall clock changes leading to erroneous behavior. Note that for some monotonic time sources deadline could be a different sign than the originally given value, and so (if non-zero) the returned deadline should have the current time originally provided subtracted from it in order to establish a relative time delay to the next deadline. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">current</td><td>The current system tick count</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the absolute deadline in milliseconds to next call tick by/at, or 0 if there is none</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">InvalidOperationException</td><td>If the engine has already been set to auto tick</td></tr>
<tr><td class="paramname">EngineStateException</td><td>If the engine has failed or was shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a12c4ca968cefbc93bc87ff3c8bdb2eec">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<a id="a840a55ae76698eb85af0c0c48f20c2d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a840a55ae76698eb85af0c0c48f20c2d2">&#9670;&nbsp;</a></span>TickAuto()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html">IEngine</a> Apache.Qpid.Proton.Engine.Implementation.ProtonEngine.TickAuto </td>
<td>(</td>
<td class="paramtype">TaskFactory&#160;</td>
<td class="paramname"><em>taskFactory</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 the engine to manage idle timeout processing by providing it the single threaded task scheduler where all transport work is done which ensures singled threaded access while removing the need for the client library or server application to manage calls to the tick processing methods. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">taskFactory</td><td>The single threaded task factory where are engine work is queued</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>This engine instance</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
<table class="exception">
<tr><td class="paramname">EngineStateException</td><td>If the engine has failed or was shutdown</td></tr>
</table>
</dd>
</dl>
<p>Implements <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngine.html#a46d4540011ee565d7c0ae3c3cd40608a">Apache.Qpid.Proton.Engine.IEngine</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Engine/Implementation/ProtonEngine.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>