<!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: Class Members - Functions</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>
</div><!-- top -->
<!-- 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 class="contents">
&#160;

<h3><a id="index_p"></a>- p -</h3><ul>
<li>ParentEndpointClosedHandler()
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1ILink.html#adc2fba593c8fa5f137d069c63c4275f7">Apache.Qpid.Proton.Engine.ILink&lt; T &gt;</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonLink.html#a61a517bb4e68e7ec13d60309d138b314">Apache.Qpid.Proton.Engine.Implementation.ProtonLink&lt; T &gt;</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonTransactionController.html#a6901957e385c8eb5edf0b303d5d857e9">Apache.Qpid.Proton.Engine.Implementation.ProtonTransactionController</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonTransactionManager.html#a382223f57077e76d346e7f856de66351">Apache.Qpid.Proton.Engine.Implementation.ProtonTransactionManager</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1ITransactionController.html#a33b15b685887d773ac0cd48002877e7e">Apache.Qpid.Proton.Engine.ITransactionController</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1ITransactionManager.html#a501fd10c72796f9826f9480f4642b61f">Apache.Qpid.Proton.Engine.ITransactionManager</a>
</li>
<li>Peek()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a0d35e2c56a2ab26f48ca02c64be6842e">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a459c8bcf2b68cfe88082d9774f177328">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1RingQueue.html#a5761c20c75c65ed0103276c02cded078">Apache.Qpid.Proton.Utilities.RingQueue&lt; T &gt;</a>
</li>
<li>PeekBack()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#a63fb1d96fd599d4e7a59c913fa1910be">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#a44ef1ae549a22e0ae2c69d55e9612dbe">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>
</li>
<li>PeekFront()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1ArrayDeque.html#acc71a2dbd68e7d0af441aff2bff10e1f">Apache.Qpid.Proton.Utilities.ArrayDeque&lt; T &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Utilities_1_1IDeque.html#adb8353ad6a69256c2113e7e4d45c8cf3">Apache.Qpid.Proton.Utilities.IDeque&lt; T &gt;</a>
</li>
<li>PeekNextTypeDecoder()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonDecoder.html#ab6bb5e9efafc216f67f0f56360a4ed4f">Apache.Qpid.Proton.Codec.Decoders.ProtonDecoder</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Decoders_1_1ProtonStreamDecoder.html#a07628c597849501e2423cd8a900904ab">Apache.Qpid.Proton.Codec.Decoders.ProtonStreamDecoder</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IDecoder.html#a3c68134486a0c6f8bd026a896e7ca5d9">Apache.Qpid.Proton.Codec.IDecoder</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IStreamDecoder.html#a18dd22bc47e7fd8d01042246b9707395">Apache.Qpid.Proton.Codec.IStreamDecoder</a>
</li>
<li>Poll()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Utilities_1_1RingQueue.html#a81ddf89e6cb1923853ea117740703a0c">Apache.Qpid.Proton.Utilities.RingQueue&lt; T &gt;</a>
</li>
<li>ProtocolViolationException()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Exceptions_1_1ProtocolViolationException.html#a707baf8b7f3509a6668b9bc16e75a053">Apache.Qpid.Proton.Engine.Exceptions.ProtocolViolationException</a>
</li>
<li>ProtonBufferOutputStream()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Buffer_1_1ProtonBufferOutputStream.html#ac05f64563e20570be612ffde4eeb3487">Apache.Qpid.Proton.Buffer.ProtonBufferOutputStream</a>
</li>
<li>ProtonByteBuffer()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Buffer_1_1ProtonByteBuffer.html#a7aa512148d8402aa14cebd5aeb87e9ba">Apache.Qpid.Proton.Buffer.ProtonByteBuffer</a>
</li>
<li>ProtonEndpoint()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonEndpoint.html#a3ca644cfb874a33e0ea761986206963e">Apache.Qpid.Proton.Engine.Implementation.ProtonEndpoint&lt; T &gt;</a>
</li>
<li>ProtonException()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Exceptions_1_1ProtonException.html#ac54a35429bce0daa7b28a77d0408da6d">Apache.Qpid.Proton.Engine.Exceptions.ProtonException</a>
</li>
<li>ProtonIOException()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Exceptions_1_1ProtonIOException.html#a983b6e05093a40dac36ad5f6bd668768">Apache.Qpid.Proton.Engine.Exceptions.ProtonIOException</a>
</li>
<li>ProtonOutgoingDelivery()
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Implementation_1_1ProtonOutgoingDelivery.html#a255376137a323b2de156e519f5f1530e">Apache.Qpid.Proton.Engine.Implementation.ProtonOutgoingDelivery</a>
</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>
