<!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_o"></a>- o -</h3><ul>
<li>OfferedCapabilities
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ConnectionOptions.html#af12d9d97a84d890b62a3a110dfaad26a">Apache.Qpid.Proton.Client.ConnectionOptions</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IConnection.html#aea623167a8fe9434a73ee26975932ed6">Apache.Qpid.Proton.Client.IConnection</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1ILink.html#a95fdfaad4b7b09dd8226d5adeac91271">Apache.Qpid.Proton.Client.ILink&lt; Role &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1ISession.html#ae6ad906f3dcc20d704f14d3e3945b4a4">Apache.Qpid.Proton.Client.ISession</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ReceiverOptions.html#a61689e5c2ddd49843202734351169e95">Apache.Qpid.Proton.Client.ReceiverOptions</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SenderOptions.html#ae5db774cdf05cf470c78fe7c53e9190c">Apache.Qpid.Proton.Client.SenderOptions</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SessionOptions.html#a3c1cd4f04a86b78b17ff5257c4c3342a">Apache.Qpid.Proton.Client.SessionOptions</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1IEndpoint.html#aca301979e4ab47a2ff142966e073ccfd">Apache.Qpid.Proton.Engine.IEndpoint&lt; T &gt;</a>
</li>
<li>OfferedMechanisms
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1MechanismMismatchException.html#a01f435123f82a39fa1e9148bd6887982">Apache.Qpid.Proton.Engine.Sasl.MechanismMismatchException</a>
</li>
<li>OpenTask
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1IConnection.html#a99e326e4071e4ba7ab3544f43d8c5ccd">Apache.Qpid.Proton.Client.IConnection</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1ILink.html#a967c89aa8ef28800557af66c1b993d7c">Apache.Qpid.Proton.Client.ILink&lt; Role &gt;</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1ISession.html#a588da7f4bd213ed87d91bba92eddfd6f">Apache.Qpid.Proton.Client.ISession</a>
</li>
<li>OpenTimeout
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ConnectionOptions.html#a592b793bd90c7d20a5fe5cfe50acc78f">Apache.Qpid.Proton.Client.ConnectionOptions</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1ReceiverOptions.html#aae53b09a0dec82085a5941579858c71f">Apache.Qpid.Proton.Client.ReceiverOptions</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SenderOptions.html#aed8760dc0c5d4a5f8c98140b10f18208">Apache.Qpid.Proton.Client.SenderOptions</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SessionOptions.html#a0fb007a5b8f517561d7457f938b6defd">Apache.Qpid.Proton.Client.SessionOptions</a>
</li>
<li>Options
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1Client_1_1ISaslCredentialsProvider.html#a3977aa208e6929bf1cc0617c929a6588">Apache.Qpid.Proton.Engine.Sasl.Client.ISaslCredentialsProvider</a>
</li>
<li>Outcome
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1Sasl_1_1ISaslContext.html#a19c2730e84df0a9c407043256cfbae87">Apache.Qpid.Proton.Engine.Sasl.ISaslContext</a>
</li>
<li>Outcomes
: <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Client_1_1ISource.html#a91b72b54b1535985e2e51917b3169513">Apache.Qpid.Proton.Client.ISource</a>
, <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SourceOptions.html#a0915a4358240016dacb9523cd3d9c1eb">Apache.Qpid.Proton.Client.SourceOptions</a>
</li>
<li>OutgoingCapacity
: <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Client_1_1SessionOptions.html#a9e3a35563577c4a17d5aad1beb024b80">Apache.Qpid.Proton.Client.SessionOptions</a>
, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Engine_1_1ISession.html#a31b4c8d1beef6f01685db93803e6f7d6">Apache.Qpid.Proton.Engine.ISession</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>
