<!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 - Properties</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_m"></a>- m -</h3><ul>
<li>Major
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1HeaderEnvelope.html#a7a4a7f670ea50eee82a189f4459009eb">Apache.Qpid.Proton.Engine.HeaderEnvelope</a>
</li>
<li>MaxFrameSize
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ConnectionOptions.html#a2960cb5b94f02efa560e7e1b674670b7">Apache.Qpid.Proton.Client.ConnectionOptions</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IConnection.html#adbdb037387b4b8f719657ea7f9f7716c">Apache.Qpid.Proton.Engine.IConnection</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEngineSaslDriver.html#a6989534b575dd7dce54b0c804978b94e">Apache.Qpid.Proton.Engine.IEngineSaslDriver</a>
</li>
<li>MaxInitialConnectionAttempts
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ReconnectOptions.html#af4855b204cd39739650f95d98be1a981">Apache.Qpid.Proton.Client.ReconnectOptions</a>
</li>
<li>MaxMessageSize
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1ILink.html#a08f036e574879fcbdbb9370a15e700eb">Apache.Qpid.Proton.Engine.ILink&lt; T &gt;</a>
</li>
<li>MaxPoolSize
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1AmqpPerformativeEnvelopePool.html#a366e414dfd295ed22857f486435460c4">Apache.Qpid.Proton.Engine.AmqpPerformativeEnvelopePool&lt; T &gt;</a>
</li>
<li>MaxReconnectAttempts
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ReconnectOptions.html#a4ece77ba3b4320338d6811b50e4e928a">Apache.Qpid.Proton.Client.ReconnectOptions</a>
</li>
<li>MaxReconnectDelay
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ReconnectOptions.html#afbcc65048d2508b3947985e106ac5550">Apache.Qpid.Proton.Client.ReconnectOptions</a>
</li>
<li>Mechanism
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Security_1_1SaslInit.html#a3b161748ba5babe72cca452c41635850">Apache.Qpid.Proton.Types.Security.SaslInit</a>
</li>
<li>Mechanisms
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Security_1_1SaslMechanisms.html#afe4c5cb60d1b36ffab757444d15bf5d6">Apache.Qpid.Proton.Types.Security.SaslMechanisms</a>
</li>
<li>MessageAnnotations
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Messaging_1_1Modified.html#a052c47e4fb1f7c17fa771841a8e2f9e7">Apache.Qpid.Proton.Types.Messaging.Modified</a>
</li>
<li>MessageFormat
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IAdvancedMessage.html#af399fd6928471ceef6ae89db2a6103e5">Apache.Qpid.Proton.Client.IAdvancedMessage&lt; T &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IDelivery.html#acd84b98c821391002d94466bc90309cf">Apache.Qpid.Proton.Client.IDelivery</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IStreamDelivery.html#af3ce8cd6ae387870e26c5cdf353ac5b6">Apache.Qpid.Proton.Client.IStreamDelivery</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IIncomingDelivery.html#ac22c8154c9e4804518c7ab4e6c41f983">Apache.Qpid.Proton.Engine.IIncomingDelivery</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IOutgoingDelivery.html#aa50a140c0b9a47e3e1591782baed641b">Apache.Qpid.Proton.Engine.IOutgoingDelivery</a>
</li>
<li>MessageId
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IMessage.html#a3802c939ff2841e6614c7f9986eb0af8">Apache.Qpid.Proton.Client.IMessage&lt; T &gt;</a>
</li>
<li>Minor
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1HeaderEnvelope.html#abeb347fc1840cc52027168d8fa09ec10">Apache.Qpid.Proton.Engine.HeaderEnvelope</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>
