blob: 0dd61302acdebe16c2d1e64f76c8048904d3c73c [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Session (Qpid ProtonJ2 Parent 1.0.0-M18 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.engine, interface: Session">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/Session.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div>
<h1 title="Interface Session" class="title">Interface Session</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Superinterfaces:</dt>
<dd><code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;</code></dd>
</dl>
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonSession.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSession</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Session</span><span class="extends-implements">
extends <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;</span></div>
<div class="block">AMQP Session interface</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#coordinator(java.lang.String)" class="member-name-link">coordinator</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Create a new <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> using the provided name.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">deliveryReadHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;delivery)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Allows monitoring of incoming deliveries to receivers attached to this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConnection()" class="member-name-link">getConnection</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getHandleMax()" class="member-name-link">getHandleMax</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getIncomingCapacity()" class="member-name-link">getIncomingCapacity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getOutgoingCapacity()" class="member-name-link">getOutgoingCapacity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getParent()" class="member-name-link">getParent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the parent of this <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRemainingIncomingCapacity()" class="member-name-link">getRemainingIncomingCapacity</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRemainingOutgoingCapacity()" class="member-name-link">getRemainingOutgoingCapacity</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SessionState.html" title="enum in org.apache.qpid.protonj2.engine">SessionState</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRemoteState()" class="member-name-link">getRemoteState</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="SessionState.html" title="enum in org.apache.qpid.protonj2.engine">SessionState</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getState()" class="member-name-link">getState</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;?&gt;&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#links()" class="member-name-link">links</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of all <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> and <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> instances that are being tracked by
this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#receiver(java.lang.String)" class="member-name-link">receiver</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Create a new <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link using the provided name</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#receiverOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">receiverOpenHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;&nbsp;remoteReceiverOpenEventHandler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a receiving link.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;? extends <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#receivers()" class="member-name-link">receivers</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> instances that are being tracked by this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#sender(java.lang.String)" class="member-name-link">sender</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Create a new <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link using the provided name.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#senderOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">senderOpenHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;&nbsp;remoteSenderOpenEventHandler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a sending link.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;? extends <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#senders()" class="member-name-link">senders</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instances that are being tracked by this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setHandleMax(long)" class="member-name-link">setHandleMax</a><wbr>(long&nbsp;handleMax)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Set the handle max value for this Session.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setIncomingCapacity(int)" class="member-name-link">setIncomingCapacity</a><wbr>(int&nbsp;incomingCapacity)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets the maximum number of bytes this session can be sent from the remote.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setOutgoingCapacity(int)" class="member-name-link">setOutgoingCapacity</a><wbr>(int&nbsp;outgoingCapacity)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets the maximum number of bytes this session can be write before blocking additional
sends until the written bytes are known to have been flushed to the write.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#transactionManagerOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">transactionManagerOpenHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine">TransactionManager</a>&gt;&nbsp;remoteTxnManagerOpenEventHandler)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a transaction
coordination link.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.Endpoint">Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a></h3>
<code><a href="Endpoint.html#close()">close</a>, <a href="Endpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="Endpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="Endpoint.html#getAttachments()">getAttachments</a>, <a href="Endpoint.html#getCondition()">getCondition</a>, <a href="Endpoint.html#getDesiredCapabilities()">getDesiredCapabilities</a>, <a href="Endpoint.html#getEngine()">getEngine</a>, <a href="Endpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="Endpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="Endpoint.html#getOfferedCapabilities()">getOfferedCapabilities</a>, <a href="Endpoint.html#getProperties()">getProperties</a>, <a href="Endpoint.html#getRemoteCondition()">getRemoteCondition</a>, <a href="Endpoint.html#getRemoteDesiredCapabilities()">getRemoteDesiredCapabilities</a>, <a href="Endpoint.html#getRemoteOfferedCapabilities()">getRemoteOfferedCapabilities</a>, <a href="Endpoint.html#getRemoteProperties()">getRemoteProperties</a>, <a href="Endpoint.html#isLocallyClosed()">isLocallyClosed</a>, <a href="Endpoint.html#isLocallyOpen()">isLocallyOpen</a>, <a href="Endpoint.html#isRemotelyClosed()">isRemotelyClosed</a>, <a href="Endpoint.html#isRemotelyOpen()">isRemotelyOpen</a>, <a href="Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="Endpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="Endpoint.html#open()">open</a>, <a href="Endpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="Endpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a>, <a href="Endpoint.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setDesiredCapabilities</a>, <a href="Endpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a>, <a href="Endpoint.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setOfferedCapabilities</a>, <a href="Endpoint.html#setProperties(java.util.Map)">setProperties</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getState()">
<h3>getState</h3>
<div class="member-signature"><span class="return-type"><a href="SessionState.html" title="enum in org.apache.qpid.protonj2.engine">SessionState</a></span>&nbsp;<span class="element-name">getState</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the local session state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getConnection()">
<h3>getConnection</h3>
<div class="member-signature"><span class="return-type"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a></span>&nbsp;<span class="element-name">getConnection</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the parent <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> for this Session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getParent()">
<h3>getParent</h3>
<div class="member-signature"><span class="return-type"><a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine">Connection</a></span>&nbsp;<span class="element-name">getParent</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="Endpoint.html#getParent()">Endpoint</a></code></span></div>
<div class="block">Gets the parent of this <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> which can be itself for <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> instance.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="Endpoint.html#getParent()">getParent</a></code>&nbsp;in interface&nbsp;<code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a>&gt;</code></dd>
<dt>Returns:</dt>
<dd>the parent <a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> of the <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="links()">
<h3>links</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;<a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;?&gt;&gt;</span>&nbsp;<span class="element-name">links</span>()</div>
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of all <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> and <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> instances that are being tracked by
this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a set of Sender and Receiver instances tracked by this session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="senders()">
<h3>senders</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;? extends <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</span>&nbsp;<span class="element-name">senders</span>()</div>
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instances that are being tracked by this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a set of Sender instances tracked by this session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="receivers()">
<h3>receivers</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link">Set</a>&lt;? extends <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;</span>&nbsp;<span class="element-name">receivers</span>()</div>
<div class="block">Returns a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Set.html" title="class or interface in java.util" class="external-link"><code>Set</code></a> of <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> instances that are being tracked by this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a set of Receiver instances tracked by this session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="sender(java.lang.String)">
<h3>sender</h3>
<div class="member-signature"><span class="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">sender</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Create a new <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link using the provided name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - The name to assign to the created <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a></dd>
<dt>Returns:</dt>
<dd>a newly created <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has already been closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="receiver(java.lang.String)">
<h3>receiver</h3>
<div class="member-signature"><span class="return-type"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></span>&nbsp;<span class="element-name">receiver</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Create a new <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link using the provided name</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - The name to assign to the created <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a></dd>
<dt>Returns:</dt>
<dd>a newly created <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has already been closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="coordinator(java.lang.String)">
<h3>coordinator</h3>
<div class="member-signature"><span class="return-type"><a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine">TransactionController</a></span>&nbsp;<span class="element-name">coordinator</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Create a new <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> using the provided name.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>name</code> - The name to assign to the created <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a></dd>
<dt>Returns:</dt>
<dd>a newly created <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has already been closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setIncomingCapacity(int)">
<h3>setIncomingCapacity</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">setIncomingCapacity</span><wbr><span class="parameters">(int&nbsp;incomingCapacity)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Sets the maximum number of bytes this session can be sent from the remote.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>incomingCapacity</code> - maximum number of incoming bytes this session will allow</dd>
<dt>Returns:</dt>
<dd>this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has already been closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getIncomingCapacity()">
<h3>getIncomingCapacity</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getIncomingCapacity</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the current incoming capacity of this session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemainingIncomingCapacity()">
<h3>getRemainingIncomingCapacity</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getRemainingIncomingCapacity</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the remaining session capacity based on how many bytes are currently pending,</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setOutgoingCapacity(int)">
<h3>setOutgoingCapacity</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">setOutgoingCapacity</span><wbr><span class="parameters">(int&nbsp;outgoingCapacity)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Sets the maximum number of bytes this session can be write before blocking additional
sends until the written bytes are known to have been flushed to the write. This limit
is intended to deal with issues of memory allocation when the I/O layer allows for
asynchronous writes and finer grained control over the pending write buffers is needed.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>outgoingCapacity</code> - maximum number of outgoing bytes this session will allow before stopping senders from sending.</dd>
<dt>Returns:</dt>
<dd>this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has already been closed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOutgoingCapacity()">
<h3>getOutgoingCapacity</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getOutgoingCapacity</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the current outgoing capacity limit of this session.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemainingOutgoingCapacity()">
<h3>getRemainingOutgoingCapacity</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getRemainingOutgoingCapacity</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the remaining session outgoing capacity based on how many bytes are currently pending,</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setHandleMax(long)">
<h3>setHandleMax</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">setHandleMax</span><wbr><span class="parameters">(long&nbsp;handleMax)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></span></div>
<div class="block">Set the handle max value for this Session.
The handle max value can only be modified prior to a call to <a href="Endpoint.html#open()"><code>Endpoint.open()</code></a>,
once the session has been opened locally an error will be thrown if this method
is called.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>handleMax</code> - The value to set for handle max when opening the session.</dd>
<dt>Returns:</dt>
<dd>this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the Session has already been opened.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHandleMax()">
<h3>getHandleMax</h3>
<div class="member-signature"><span class="return-type">long</span>&nbsp;<span class="element-name">getHandleMax</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the currently configured handle max for this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteState()">
<h3>getRemoteState</h3>
<div class="member-signature"><span class="return-type"><a href="SessionState.html" title="enum in org.apache.qpid.protonj2.engine">SessionState</a></span>&nbsp;<span class="element-name">getRemoteState</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the remote session state (as last communicated)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="senderOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>senderOpenHandler</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">senderOpenHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;&nbsp;remoteSenderOpenEventHandler)</span></div>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a sending link.
Used to process remotely initiated sending link. Locally initiated links have their own EventHandler
invoked instead. This method is Typically used by servers to listen for remote Receiver creation.
If an event handler for remote sender open is registered on this Session for a link scoped to it then
this handler will be invoked instead of the variant in the Connection API.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>remoteSenderOpenEventHandler</code> - the EventHandler that will be signaled when a sender link is remotely opened.</dd>
<dt>Returns:</dt>
<dd>this session for chaining</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="receiverOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>receiverOpenHandler</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">receiverOpenHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;&nbsp;remoteReceiverOpenEventHandler)</span></div>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a receiving link.
Used to process remotely initiated receiving link. Locally initiated links have their own EventHandler
invoked instead. This method is Typically used by servers to listen for remote Sender creation.
If an event handler for remote sender open is registered on this Session for a link scoped to it then
this handler will be invoked instead of the variant in the Connection API.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>remoteReceiverOpenEventHandler</code> - the EventHandler that will be signaled when a receiver link is remotely opened.</dd>
<dt>Returns:</dt>
<dd>this session for chaining</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transactionManagerOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>transactionManagerOpenHandler</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">transactionManagerOpenHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="TransactionManager.html" title="interface in org.apache.qpid.protonj2.engine">TransactionManager</a>&gt;&nbsp;remoteTxnManagerOpenEventHandler)</span></div>
<div class="block">Sets a <a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine"><code>EventHandler</code></a> for when an AMQP Attach frame is received from the remote peer for a transaction
coordination link.
Used to process remotely initiated transaction manager link. Locally initiated links have their own EventHandler
invoked instead. This method is Typically used by servers to listen for remote <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a>
creation. If an event handler for remote <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> open is registered on this Session for a
<a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> scoped to it then this handler will be invoked instead of the variant in the
<a href="Connection.html" title="interface in org.apache.qpid.protonj2.engine"><code>Connection</code></a> API.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>remoteTxnManagerOpenEventHandler</code> - the EventHandler that will be signaled when a <a href="TransactionController.html" title="interface in org.apache.qpid.protonj2.engine"><code>TransactionController</code></a> link is remotely opened.</dd>
<dt>Returns:</dt>
<dd>this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a> for chaining</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>deliveryReadHandler</h3>
<div class="member-signature"><span class="return-type"><a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a></span>&nbsp;<span class="element-name">deliveryReadHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;delivery)</span></div>
<div class="block">Allows monitoring of incoming deliveries to receivers attached to this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a>. The
<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> that is the target of the incoming delivery will be notified first of the
incoming delivery and any processing should be done using the <a href="Receiver.html#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>Receiver.deliveryReadHandler(EventHandler)</code></a>.
This event point will be trigger only after the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> level handler and should be
used to monitor deliveries passing through a session for logging or other state related actions
performed by the service managing this session.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>delivery</code> - The delivery that was read which contains</dd>
<dt>Returns:</dt>
<dd>this <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine">Session</a> for chaining</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>