blob: 68a1ac9f8c77ed21e4f46ff052e66fb60a4546c2 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ProtonSender (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ProtonSender (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProtonSender.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine.impl</a></div>
<h2 title="Class ProtonSender" class="title">Class ProtonSender</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">org.apache.qpid.protonj2.engine.impl.ProtonEndpoint</a>&lt;L&gt;</li>
<li>
<ul class="inheritance">
<li><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">org.apache.qpid.protonj2.engine.impl.ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.qpid.protonj2.engine.impl.ProtonSender</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code>, <code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code>, <code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">ProtonSender</span>
extends <a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;
implements <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></pre>
<div class="block">Proton Sender link implementation.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.qpid.protonj2.engine.impl.ProtonLink">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a></h3>
<code><a href="ProtonLink.html#connection">connection</a>, <a href="ProtonLink.html#localAttach">localAttach</a>, <a href="ProtonLink.html#remoteAttach">remoteAttach</a>, <a href="ProtonLink.html#session">session</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">
<!-- -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a></h3>
<code><a href="ProtonEndpoint.html#engine">engine</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(org.apache.qpid.protonj2.engine.impl.ProtonSession,java.lang.String)">ProtonSender</a></span>&#8203;(<a href="ProtonSession.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSession</a>&nbsp;session,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</code></th>
<td class="colLast">
<div class="block">Create a new <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance with the given <a href="../Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> parent.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">creditStateUpdateHandler</a></span>&#8203;(<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;handler)</code></th>
<td class="colLast">
<div class="block">Handler for link credit updates that occur after a remote <a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Flow</code></a> arrives.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#current()">current</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the current <a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> for this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> if one is available.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decorateOutgoingFlow(org.apache.qpid.protonj2.types.transport.Flow)">decorateOutgoingFlow</a></span>&#8203;(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryStateUpdatedHandler</a></span>&#8203;(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for updates for deliveries that have previously been sent.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">disposition</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter,
<a href="../../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
boolean&nbsp;settle)</code></th>
<td class="colLast">
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> apply the given predicate
and if it matches then apply the given delivery state and settled value to it.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drained()">drained</a></span>()</code></th>
<td class="colLast">
<div class="block">Called when the <a href="../Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> has requested a drain of credit and the sender
has sent all available messages.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getCredit()">getCredit</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the credit that is currently available or assigned to this link.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDeliveryTagGenerator()">getDeliveryTagGenerator</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRole()">getRole</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteAttach(org.apache.qpid.protonj2.types.transport.Attach)">handleRemoteAttach</a></span>&#8203;(<a href="../../types/transport/Attach.html" title="class in org.apache.qpid.protonj2.types.transport">Attach</a>&nbsp;attach)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteDetach(org.apache.qpid.protonj2.types.transport.Detach)">handleRemoteDetach</a></span>&#8203;(<a href="../../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport">Detach</a>&nbsp;detach)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonIncomingDelivery)">handleRemoteDisposition</a></span>&#8203;(<a href="../../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport">Disposition</a>&nbsp;disposition,
<a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a>&nbsp;delivery)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonOutgoingDelivery)">handleRemoteDisposition</a></span>&#8203;(<a href="../../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport">Disposition</a>&nbsp;disposition,
<a href="ProtonOutgoingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonOutgoingDelivery</a>&nbsp;delivery)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteFlow(org.apache.qpid.protonj2.types.transport.Flow)">handleRemoteFlow</a></span>&#8203;(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected <a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#handleRemoteTransfer(org.apache.qpid.protonj2.types.transport.Transfer,org.apache.qpid.protonj2.buffer.ProtonBuffer)">handleRemoteTransfer</a></span>&#8203;(<a href="../../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport">Transfer</a>&nbsp;transfer,
<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;payload)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasUnsettled()">hasUnsettled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isDraining()">isDraining</a></span>()</code></th>
<td class="colLast">
<div class="block">Indicates if the link is draining.</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSendable()">isSendable</a></span>()</code></th>
<td class="colLast">
<div class="block">Checks if the sender has credit and the session window allows for any bytes to be written currently.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#next()">next</a></span>()</code></th>
<td class="colLast">
<div class="block">When there has been no deliveries so far or the current delivery has reached a complete state this
method updates the current delivery to a new instance and returns that value.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#self()">self</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)">setDeliveryTagGenerator</a></span>&#8203;(<a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&nbsp;generator)</code></th>
<td class="colLast">
<div class="block">Configures a <a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> that will be used to create and set a <a href="../../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types"><code>DeliveryTag</code></a>
value on each new <a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> that is created and returned from the <a href="../Sender.html#next()"><code>Sender.next()</code></a>
method.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#settle(java.util.function.Predicate)">settle</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter)</code></th>
<td class="colLast">
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> apply the given predicate
and if it matches then settle the delivery.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionedToLocallyClosed()">transitionedToLocallyClosed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionedToLocallyDetached()">transitionedToLocallyDetached</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionedToLocallyOpened()">transitionedToLocallyOpened</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionToParentLocallyClosed()">transitionToParentLocallyClosed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionToParentRemotelyClosed()">transitionToParentRemotelyClosed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionToRemotelyClosed()">transitionToRemotelyClosed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#transitionToRemotelyDetached()">transitionToRemotelyDetached</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unsettled()">unsettled</a></span>()</code></th>
<td class="colLast">
<div class="block">Retrieves the list of unsettled deliveries sent from this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.impl.ProtonLink">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a></h3>
<code><a href="ProtonLink.html#areDeliveriesStillActive()">areDeliveriesStillActive</a>, <a href="ProtonLink.html#checkLinkOperable(java.lang.String)">checkLinkOperable</a>, <a href="ProtonLink.html#checkNotClosed(java.lang.String)">checkNotClosed</a>, <a href="ProtonLink.html#checkNotOpened(java.lang.String)">checkNotOpened</a>, <a href="ProtonLink.html#close()">close</a>, <a href="ProtonLink.html#detach()">detach</a>, <a href="ProtonLink.html#detachHandler(org.apache.qpid.protonj2.engine.EventHandler)">detachHandler</a>, <a href="ProtonLink.html#getConnection()">getConnection</a>, <a href="ProtonLink.html#getDesiredCapabilities()">getDesiredCapabilities</a>, <a href="ProtonLink.html#getMaxMessageSize()">getMaxMessageSize</a>, <a href="ProtonLink.html#getName()">getName</a>, <a href="ProtonLink.html#getOfferedCapabilities()">getOfferedCapabilities</a>, <a href="ProtonLink.html#getParent()">getParent</a>, <a href="ProtonLink.html#getProperties()">getProperties</a>, <a href="ProtonLink.html#getReceiverSettleMode()">getReceiverSettleMode</a>, <a href="ProtonLink.html#getRemoteDesiredCapabilities()">getRemoteDesiredCapabilities</a>, <a href="ProtonLink.html#getRemoteMaxMessageSize()">getRemoteMaxMessageSize</a>, <a href="ProtonLink.html#getRemoteOfferedCapabilities()">getRemoteOfferedCapabilities</a>, <a href="ProtonLink.html#getRemoteProperties()">getRemoteProperties</a>, <a href="ProtonLink.html#getRemoteReceiverSettleMode()">getRemoteReceiverSettleMode</a>, <a href="ProtonLink.html#getRemoteSenderSettleMode()">getRemoteSenderSettleMode</a>, <a href="ProtonLink.html#getRemoteSource()">getRemoteSource</a>, <a href="ProtonLink.html#getRemoteState()">getRemoteState</a>, <a href="ProtonLink.html#getRemoteTarget()">getRemoteTarget</a>, <a href="ProtonLink.html#getSenderSettleMode()">getSenderSettleMode</a>, <a href="ProtonLink.html#getSession()">getSession</a>, <a href="ProtonLink.html#getSource()">getSource</a>, <a href="ProtonLink.html#getState()">getState</a>, <a href="ProtonLink.html#getTarget()">getTarget</a>, <a href="ProtonLink.html#isLocallyClosed()">isLocallyClosed</a>, <a href="ProtonLink.html#isLocallyClosedOrDetached()">isLocallyClosedOrDetached</a>, <a href="ProtonLink.html#isLocallyDetached()">isLocallyDetached</a>, <a href="ProtonLink.html#isLocallyOpen()">isLocallyOpen</a>, <a href="ProtonLink.html#isReceiver()">isReceiver</a>, <a href="ProtonLink.html#isRemotelyClosed()">isRemotelyClosed</a>, <a href="ProtonLink.html#isRemotelyClosedOrDetached()">isRemotelyClosedOrDetached</a>, <a href="ProtonLink.html#isRemotelyDetached()">isRemotelyDetached</a>, <a href="ProtonLink.html#isRemotelyOpen()">isRemotelyOpen</a>, <a href="ProtonLink.html#isSender()">isSender</a>, <a href="ProtonLink.html#localDetachHandler(org.apache.qpid.protonj2.engine.EventHandler)">localDetachHandler</a>, <a href="ProtonLink.html#open()">open</a>, <a href="ProtonLink.html#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">parentEndpointClosedHandler</a>, <a href="ProtonLink.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setDesiredCapabilities</a>, <a href="ProtonLink.html#setMaxMessageSize(org.apache.qpid.protonj2.types.UnsignedLong)">setMaxMessageSize</a>, <a href="ProtonLink.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setOfferedCapabilities</a>, <a href="ProtonLink.html#setProperties(java.util.Map)">setProperties</a>, <a href="ProtonLink.html#setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)">setReceiverSettleMode</a>, <a href="ProtonLink.html#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)">setSenderSettleMode</a>, <a href="ProtonLink.html#setSource(org.apache.qpid.protonj2.types.messaging.Source)">setSource</a>, <a href="ProtonLink.html#setTarget(org.apache.qpid.protonj2.types.messaging.Target)">setTarget</a>, <a href="ProtonLink.html#setTarget(org.apache.qpid.protonj2.types.transactions.Coordinator)">setTarget</a>, <a href="ProtonLink.html#transitionToRemotelyOpenedState()">transitionToRemotelyOpenedState</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.qpid.protonj2.engine.impl.<a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonEndpoint</a></h3>
<code><a href="ProtonEndpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="ProtonEndpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="ProtonEndpoint.html#getAttachments()">getAttachments</a>, <a href="ProtonEndpoint.html#getCondition()">getCondition</a>, <a href="ProtonEndpoint.html#getEngine()">getEngine</a>, <a href="ProtonEndpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="ProtonEndpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="ProtonEndpoint.html#getRemoteCondition()">getRemoteCondition</a>, <a href="ProtonEndpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="ProtonEndpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="ProtonEndpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="ProtonEndpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a>, <a href="ProtonEndpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.Endpoint">
<!-- -->
</a>
<h3>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#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></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.Link">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a></h3>
<code><a href="../Link.html#detach()">detach</a>, <a href="../Link.html#detachHandler(org.apache.qpid.protonj2.engine.EventHandler)">detachHandler</a>, <a href="../Link.html#getConnection()">getConnection</a>, <a href="../Link.html#getMaxMessageSize()">getMaxMessageSize</a>, <a href="../Link.html#getName()">getName</a>, <a href="../Link.html#getParent()">getParent</a>, <a href="../Link.html#getReceiverSettleMode()">getReceiverSettleMode</a>, <a href="../Link.html#getRemoteMaxMessageSize()">getRemoteMaxMessageSize</a>, <a href="../Link.html#getRemoteReceiverSettleMode()">getRemoteReceiverSettleMode</a>, <a href="../Link.html#getRemoteSenderSettleMode()">getRemoteSenderSettleMode</a>, <a href="../Link.html#getRemoteSource()">getRemoteSource</a>, <a href="../Link.html#getRemoteState()">getRemoteState</a>, <a href="../Link.html#getRemoteTarget()">getRemoteTarget</a>, <a href="../Link.html#getSenderSettleMode()">getSenderSettleMode</a>, <a href="../Link.html#getSession()">getSession</a>, <a href="../Link.html#getSource()">getSource</a>, <a href="../Link.html#getState()">getState</a>, <a href="../Link.html#getTarget()">getTarget</a>, <a href="../Link.html#isLocallyClosedOrDetached()">isLocallyClosedOrDetached</a>, <a href="../Link.html#isLocallyDetached()">isLocallyDetached</a>, <a href="../Link.html#isReceiver()">isReceiver</a>, <a href="../Link.html#isRemotelyClosed()">isRemotelyClosed</a>, <a href="../Link.html#isRemotelyClosedOrDetached()">isRemotelyClosedOrDetached</a>, <a href="../Link.html#isRemotelyDetached()">isRemotelyDetached</a>, <a href="../Link.html#isRemotelyOpen()">isRemotelyOpen</a>, <a href="../Link.html#isSender()">isSender</a>, <a href="../Link.html#localDetachHandler(org.apache.qpid.protonj2.engine.EventHandler)">localDetachHandler</a>, <a href="../Link.html#parentEndpointClosedHandler(org.apache.qpid.protonj2.engine.EventHandler)">parentEndpointClosedHandler</a>, <a href="../Link.html#setMaxMessageSize(org.apache.qpid.protonj2.types.UnsignedLong)">setMaxMessageSize</a>, <a href="../Link.html#setReceiverSettleMode(org.apache.qpid.protonj2.types.transport.ReceiverSettleMode)">setReceiverSettleMode</a>, <a href="../Link.html#setSenderSettleMode(org.apache.qpid.protonj2.types.transport.SenderSettleMode)">setSenderSettleMode</a>, <a href="../Link.html#setSource(org.apache.qpid.protonj2.types.messaging.Source)">setSource</a>, <a href="../Link.html#setTarget(org.apache.qpid.protonj2.types.messaging.Target)">setTarget</a>, <a href="../Link.html#setTarget(org.apache.qpid.protonj2.types.transactions.Coordinator)">setTarget</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;(org.apache.qpid.protonj2.engine.impl.ProtonSession,java.lang.String)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ProtonSender</h4>
<pre>public&nbsp;ProtonSender&#8203;(<a href="ProtonSession.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSession</a>&nbsp;session,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;name)</pre>
<div class="block">Create a new <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance with the given <a href="../Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> parent.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>session</code> - The Session that is linked to this sender instance.</dd>
<dd><code>name</code> - The name assigned to this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getRole()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRole</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a>&nbsp;getRole()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#getRole()">getRole</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport"><code>Role</code></a> that this end of the link is performing.</dd>
</dl>
</li>
</ul>
<a id="self()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>self</h4>
<pre class="methodSignature">protected&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;self()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#self()">self</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="getCredit()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCredit</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getCredit()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#getCredit()">Link</a></code></span></div>
<div class="block">Get the credit that is currently available or assigned to this link.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#getCredit()">getCredit</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current link credit.</dd>
</dl>
</li>
</ul>
<a id="isSendable()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSendable</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isSendable()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#isSendable()">Sender</a></code></span></div>
<div class="block">Checks if the sender has credit and the session window allows for any bytes to be written currently.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#isSendable()">isSendable</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the link has credit and the session window allows for any bytes to be written.</dd>
</dl>
</li>
</ul>
<a id="isDraining()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isDraining</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isDraining()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#isDraining()">Link</a></code></span></div>
<div class="block">Indicates if the link is draining. For a <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link this indicates that the
remote has requested that the Sender transmit deliveries up to the currently available
credit or indicate that it has no more to send. For a <a href="../Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> this indicates
that the Receiver has requested that the Sender consume its outstanding credit.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#isDraining()">isDraining</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> is currently marked as draining.</dd>
</dl>
</li>
</ul>
<a id="drained()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drained</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;drained()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#drained()">Sender</a></code></span></div>
<div class="block">Called when the <a href="../Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> has requested a drain of credit and the sender
has sent all available messages.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#drained()">drained</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disposition</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;disposition&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter,
<a href="../../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
boolean&nbsp;settle)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">Sender</a></code></span></div>
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> apply the given predicate
and if it matches then apply the given delivery state and settled value to it.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">disposition</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The predicate to apply to each unsettled delivery to test for a match.</dd>
<dd><code>state</code> - The new <a href="../../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> to apply to any matching outgoing deliveries.</dd>
<dd><code>settle</code> - Boolean indicating if the matching unsettled deliveries should be settled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="settle(java.util.function.Predicate)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>settle</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;settle&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#settle(java.util.function.Predicate)">Sender</a></code></span></div>
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> apply the given predicate
and if it matches then settle the delivery.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#settle(java.util.function.Predicate)">settle</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The predicate to apply to each unsettled delivery to test for a match.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="current()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>current</h4>
<pre class="methodSignature">public&nbsp;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&nbsp;current()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#current()">Sender</a></code></span></div>
<div class="block">Gets the current <a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> for this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> if one is available.
<p>
The sender only tracks a current delivery in the case that the next method has bee called
and if any bytes are written to the delivery using the streaming based API
<a href="../OutgoingDelivery.html#streamBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>OutgoingDelivery.streamBytes(ProtonBuffer)</code></a> which allows for later writing of additional
bytes to the delivery. Once the method <a href="../OutgoingDelivery.html#writeBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>OutgoingDelivery.writeBytes(ProtonBuffer)</code></a> is
called the final <a href="../../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> is written indicating that the delivery is complete and the
current delivery value is reset. An outgoing delivery that is being streamed may also
be completed by calling the <a href="../OutgoingDelivery.html#abort()"><code>OutgoingDelivery.abort()</code></a> method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#current()">current</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current active outgoing delivery or null if there is no current delivery.</dd>
</dl>
</li>
</ul>
<a id="next()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>next</h4>
<pre class="methodSignature">public&nbsp;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&nbsp;next()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#next()">Sender</a></code></span></div>
<div class="block">When there has been no deliveries so far or the current delivery has reached a complete state this
method updates the current delivery to a new instance and returns that value. If the current
<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> has not been completed by either calling the
<a href="../OutgoingDelivery.html#writeBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)"><code>OutgoingDelivery.writeBytes(ProtonBuffer)</code></a> or the <a href="../OutgoingDelivery.html#abort()"><code>OutgoingDelivery.abort()</code></a> method then
this method will throw an exception to indicate the sender state cannot allow a new delivery to be started.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#next()">next</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a new delivery instance unless the current delivery is not complete.</dd>
</dl>
</li>
</ul>
<a id="unsettled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unsettled</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;unsettled()</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#unsettled()">Sender</a></code></span></div>
<div class="block">Retrieves the list of unsettled deliveries sent from this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>. The deliveries in the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a>
cannot be written to but can have their settled state and disposition updated. Only when this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>
settles on its end are the <a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> instances removed from the unsettled <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a>.
The <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a> returned from this method is a copy of the internally maintained data and is
not modifiable. The caller should use this method judiciously to avoid excess GC overhead.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#unsettled()">unsettled</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection of unsettled deliveries or an empty collection if no pending deliveries are outstanding.</dd>
</dl>
</li>
</ul>
<a id="hasUnsettled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasUnsettled</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;hasUnsettled()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#hasUnsettled()">hasUnsettled</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there are unsettled deliveries for this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDeliveryTagGenerator</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;setDeliveryTagGenerator&#8203;(<a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&nbsp;generator)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)">Sender</a></code></span></div>
<div class="block">Configures a <a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> that will be used to create and set a <a href="../../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types"><code>DeliveryTag</code></a>
value on each new <a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> that is created and returned from the <a href="../Sender.html#next()"><code>Sender.next()</code></a>
method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)">setDeliveryTagGenerator</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>generator</code> - The <a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> to use to create automatic <a href="../../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types"><code>DeliveryTag</code></a> values.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="getDeliveryTagGenerator()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDeliveryTagGenerator</h4>
<pre class="methodSignature">public&nbsp;<a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&nbsp;getDeliveryTagGenerator()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#getDeliveryTagGenerator()">getDeliveryTagGenerator</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently configured <a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine"><code>DeliveryTagGenerator</code></a> for this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>.</dd>
</dl>
</li>
</ul>
<a id="handleRemoteAttach(org.apache.qpid.protonj2.types.transport.Attach)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteAttach</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;handleRemoteAttach&#8203;(<a href="../../types/transport/Attach.html" title="class in org.apache.qpid.protonj2.types.transport">Attach</a>&nbsp;attach)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteAttach(org.apache.qpid.protonj2.types.transport.Attach)">handleRemoteAttach</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="handleRemoteDetach(org.apache.qpid.protonj2.types.transport.Detach)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteDetach</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;handleRemoteDetach&#8203;(<a href="../../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport">Detach</a>&nbsp;detach)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteDetach(org.apache.qpid.protonj2.types.transport.Detach)">handleRemoteDetach</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonIncomingDelivery)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteDisposition</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;handleRemoteDisposition&#8203;(<a href="../../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport">Disposition</a>&nbsp;disposition,
<a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a>&nbsp;delivery)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonIncomingDelivery)">handleRemoteDisposition</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonOutgoingDelivery)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteDisposition</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;handleRemoteDisposition&#8203;(<a href="../../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport">Disposition</a>&nbsp;disposition,
<a href="ProtonOutgoingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonOutgoingDelivery</a>&nbsp;delivery)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonOutgoingDelivery)">handleRemoteDisposition</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="handleRemoteTransfer(org.apache.qpid.protonj2.types.transport.Transfer,org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteTransfer</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a>&nbsp;handleRemoteTransfer&#8203;(<a href="../../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport">Transfer</a>&nbsp;transfer,
<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;payload)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteTransfer(org.apache.qpid.protonj2.types.transport.Transfer,org.apache.qpid.protonj2.buffer.ProtonBuffer)">handleRemoteTransfer</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="handleRemoteFlow(org.apache.qpid.protonj2.types.transport.Flow)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>handleRemoteFlow</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;handleRemoteFlow&#8203;(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#handleRemoteFlow(org.apache.qpid.protonj2.types.transport.Flow)">handleRemoteFlow</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="decorateOutgoingFlow(org.apache.qpid.protonj2.types.transport.Flow)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decorateOutgoingFlow</h4>
<pre class="methodSignature">protected final&nbsp;<a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a>&nbsp;decorateOutgoingFlow&#8203;(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="ProtonLink.html#decorateOutgoingFlow(org.apache.qpid.protonj2.types.transport.Flow)">decorateOutgoingFlow</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>creditStateUpdateHandler</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;creditStateUpdateHandler&#8203;(<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;handler)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Link.html#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">Link</a></code></span></div>
<div class="block">Handler for link credit updates that occur after a remote <a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Flow</code></a> arrives.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Link.html#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">creditStateUpdateHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - An event handler that will be signaled when the link credit is updated by a remote flow.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> for chaining.</dd>
</dl>
</li>
</ul>
<a id="deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryStateUpdatedHandler</h4>
<pre class="methodSignature">public&nbsp;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&nbsp;deliveryStateUpdatedHandler&#8203;(<a href="../EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../Sender.html#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">Sender</a></code></span></div>
<div class="block">Handler for updates for deliveries that have previously been sent.
Updates can happen when the remote settles or otherwise modifies the delivery and the
user needs to act on those changes.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../Sender.html#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryStateUpdatedHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when a new update delivery arrives on this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="transitionedToLocallyOpened()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionedToLocallyOpened</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionedToLocallyOpened()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionedToLocallyOpened()">transitionedToLocallyOpened</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionedToLocallyDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionedToLocallyDetached</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionedToLocallyDetached()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionedToLocallyDetached()">transitionedToLocallyDetached</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionedToLocallyClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionedToLocallyClosed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionedToLocallyClosed()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionedToLocallyClosed()">transitionedToLocallyClosed</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionToRemotelyDetached()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToRemotelyDetached</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionToRemotelyDetached()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionToRemotelyDetached()">transitionToRemotelyDetached</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionToRemotelyClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToRemotelyClosed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionToRemotelyClosed()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionToRemotelyClosed()">transitionToRemotelyClosed</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionToParentLocallyClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>transitionToParentLocallyClosed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionToParentLocallyClosed()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionToParentLocallyClosed()">transitionToParentLocallyClosed</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
<a id="transitionToParentRemotelyClosed()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>transitionToParentRemotelyClosed</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;transitionToParentRemotelyClosed()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="ProtonLink.html#transitionToParentRemotelyClosed()">transitionToParentRemotelyClosed</a></code>&nbsp;in class&nbsp;<code><a href="ProtonLink.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonLink</a>&lt;<a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>&gt;</code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ProtonSender.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>