blob: a96f7be018275e051dfbc5617e8cc5fc983271b0 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ProtonSender (Qpid ProtonJ2 Parent 1.0.0-M19 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.impl, class: ProtonSender">
<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/ProtonSender.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><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="sub-nav-list">
<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>
</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.impl</a></div>
<h1 title="Class ProtonSender" class="title">Class ProtonSender</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="ProtonEndpoint.html" title="class in org.apache.qpid.protonj2.engine.impl">org.apache.qpid.protonj2.engine.impl.ProtonEndpoint</a>&lt;L&gt;
<div class="inheritance"><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;
<div class="inheritance">org.apache.qpid.protonj2.engine.impl.ProtonSender</div>
</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<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>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ProtonSender</span>
<span class="extends-implements">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></span></div>
<div class="block">Proton Sender link implementation.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonLink">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></div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">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></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(org.apache.qpid.protonj2.engine.impl.ProtonSession,java.lang.String)" class="member-name-link">ProtonSender</a><wbr>(<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" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</code></div>
<div class="col-last even-row-color">
<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>
</div>
</div>
</section>
</li>
<!-- ========== 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-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete 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-tab4"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">creditStateUpdateHandler</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;handler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#current()" class="member-name-link">current</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#decorateOutgoingFlow(org.apache.qpid.protonj2.types.transport.Flow)" class="member-name-link">decorateOutgoingFlow</a><wbr>(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">deliveryStateUpdatedHandler</a><wbr>(<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></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Handler for updates for deliveries that have previously been sent.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)" class="member-name-link">disposition</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">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></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#drained()" class="member-name-link">drained</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCredit()" class="member-name-link">getCredit</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Get the credit that is currently available or assigned to this link.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDeliveryTagGenerator()" class="member-name-link">getDeliveryTagGenerator</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRole()" class="member-name-link">getRole</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteAttach(org.apache.qpid.protonj2.types.transport.Attach)" class="member-name-link">handleRemoteAttach</a><wbr>(<a href="../../types/transport/Attach.html" title="class in org.apache.qpid.protonj2.types.transport">Attach</a>&nbsp;attach)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteDetach(org.apache.qpid.protonj2.types.transport.Detach)" class="member-name-link">handleRemoteDetach</a><wbr>(<a href="../../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport">Detach</a>&nbsp;detach)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonIncomingDelivery)" class="member-name-link">handleRemoteDisposition</a><wbr>(<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></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonOutgoingDelivery)" class="member-name-link">handleRemoteDisposition</a><wbr>(<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></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteFlow(org.apache.qpid.protonj2.types.transport.Flow)" class="member-name-link">handleRemoteFlow</a><wbr>(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected final <a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handleRemoteTransfer(org.apache.qpid.protonj2.types.transport.Transfer,org.apache.qpid.protonj2.buffer.ProtonBuffer)" class="member-name-link">handleRemoteTransfer</a><wbr>(<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></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hasUnsettled()" class="member-name-link">hasUnsettled</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isDraining()" class="member-name-link">isDraining</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Indicates if the link is draining.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isSendable()" class="member-name-link">isSendable</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the sender has credit and the session window allows for any bytes to be written currently.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#next()" class="member-name-link">next</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#self()" class="member-name-link">self</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)" class="member-name-link">setDeliveryTagGenerator</a><wbr>(<a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&nbsp;generator)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><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-tab4"><code><a href="#settle(java.util.function.Predicate)" class="member-name-link">settle</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionedToLocallyClosed()" class="member-name-link">transitionedToLocallyClosed</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionedToLocallyDetached()" class="member-name-link">transitionedToLocallyDetached</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionedToLocallyOpened()" class="member-name-link">transitionedToLocallyOpened</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionToParentLocallyClosed()" class="member-name-link">transitionToParentLocallyClosed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionToParentRemotelyClosed()" class="member-name-link">transitionToParentRemotelyClosed</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionToRemotelyClosed()" class="member-name-link">transitionToRemotelyClosed</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#transitionToRemotelyDetached()" class="member-name-link">transitionToRemotelyDetached</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#unsettled()" class="member-name-link">unsettled</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonLink">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></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.impl.ProtonEndpoint">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></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">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" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></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#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>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.engine.Link">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></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(org.apache.qpid.protonj2.engine.impl.ProtonSession,java.lang.String)">
<h3>ProtonSender</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ProtonSender</span><wbr><span class="parameters">(<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" title="class or interface in java.lang" class="external-link">String</a>&nbsp;name)</span></div>
<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 class="notes">
<dt>Parameters:</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>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getRole()">
<h3>getRole</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../types/transport/Role.html" title="enum in org.apache.qpid.protonj2.types.transport">Role</a></span>&nbsp;<span class="element-name">getRole</span>()</div>
<dl class="notes">
<dt>Specified by:</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>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="self()">
<h3>self</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">self</span>()</div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="getCredit()">
<h3>getCredit</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getCredit</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>the current link credit.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isSendable()">
<h3>isSendable</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isSendable</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>true if the link has credit and the session window allows for any bytes to be written.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isDraining()">
<h3>isDraining</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isDraining</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="drained()">
<h3>drained</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">drained</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">
<h3>disposition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">disposition</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">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)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Parameters:</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>Returns:</dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="settle(java.util.function.Predicate)">
<h3>settle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">settle</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html" title="class or interface in java.util.function" class="external-link">Predicate</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;&nbsp;filter)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Parameters:</dt>
<dd><code>filter</code> - The predicate to apply to each unsettled delivery to test for a match.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="current()">
<h3>current</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></span>&nbsp;<span class="element-name">current</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>the current active outgoing delivery or null if there is no current delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="next()">
<h3>next</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></span>&nbsp;<span class="element-name">next</span>()</div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>a new delivery instance unless the current delivery is not complete.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="unsettled()">
<h3>unsettled</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a>&lt;<a href="../OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>&gt;</span>&nbsp;<span class="element-name">unsettled</span>()</div>
<div class="block"><span class="descfrm-type-label">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" title="class or interface in java.util" class="external-link"><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" title="class or interface in java.util" class="external-link"><code>Collection</code></a>.
The <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link"><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 class="notes">
<dt>Specified by:</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>Returns:</dt>
<dd>a collection of unsettled deliveries or an empty collection if no pending deliveries are outstanding.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasUnsettled()">
<h3>hasUnsettled</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasUnsettled</span>()</div>
<dl class="notes">
<dt>Specified by:</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>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="setDeliveryTagGenerator(org.apache.qpid.protonj2.engine.DeliveryTagGenerator)">
<h3>setDeliveryTagGenerator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">setDeliveryTagGenerator</span><wbr><span class="parameters">(<a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a>&nbsp;generator)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Parameters:</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>Returns:</dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDeliveryTagGenerator()">
<h3>getDeliveryTagGenerator</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a></span>&nbsp;<span class="element-name">getDeliveryTagGenerator</span>()</div>
<dl class="notes">
<dt>Specified by:</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>Returns:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteAttach(org.apache.qpid.protonj2.types.transport.Attach)">
<h3>handleRemoteAttach</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">handleRemoteAttach</span><wbr><span class="parameters">(<a href="../../types/transport/Attach.html" title="class in org.apache.qpid.protonj2.types.transport">Attach</a>&nbsp;attach)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteDetach(org.apache.qpid.protonj2.types.transport.Detach)">
<h3>handleRemoteDetach</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">handleRemoteDetach</span><wbr><span class="parameters">(<a href="../../types/transport/Detach.html" title="class in org.apache.qpid.protonj2.types.transport">Detach</a>&nbsp;detach)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonIncomingDelivery)">
<h3>handleRemoteDisposition</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">handleRemoteDisposition</span><wbr><span class="parameters">(<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)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteDisposition(org.apache.qpid.protonj2.types.transport.Disposition,org.apache.qpid.protonj2.engine.impl.ProtonOutgoingDelivery)">
<h3>handleRemoteDisposition</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">handleRemoteDisposition</span><wbr><span class="parameters">(<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)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteTransfer(org.apache.qpid.protonj2.types.transport.Transfer,org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<h3>handleRemoteTransfer</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a></span>&nbsp;<span class="element-name">handleRemoteTransfer</span><wbr><span class="parameters">(<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)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="handleRemoteFlow(org.apache.qpid.protonj2.types.transport.Flow)">
<h3>handleRemoteFlow</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">handleRemoteFlow</span><wbr><span class="parameters">(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="decorateOutgoingFlow(org.apache.qpid.protonj2.types.transport.Flow)">
<h3>decorateOutgoingFlow</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></span>&nbsp;<span class="element-name">decorateOutgoingFlow</span><wbr><span class="parameters">(<a href="../../types/transport/Flow.html" title="class in org.apache.qpid.protonj2.types.transport">Flow</a>&nbsp;flow)</span></div>
<dl class="notes">
<dt>Specified by:</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>
</section>
</li>
<li>
<section class="detail" id="creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>creditStateUpdateHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">creditStateUpdateHandler</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;handler)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Parameters:</dt>
<dd><code>handler</code> - An event handler that will be signaled when the link credit is updated by a remote flow.</dd>
<dt>Returns:</dt>
<dd>the <a href="../Link.html" title="interface in org.apache.qpid.protonj2.engine"><code>Link</code></a> for chaining.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>deliveryStateUpdatedHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span>&nbsp;<span class="element-name">deliveryStateUpdatedHandler</span><wbr><span class="parameters">(<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)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Specified by:</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>Parameters:</dt>
<dd><code>handler</code> - The handler that will be invoked when a new update delivery arrives on this link.</dd>
<dt>Returns:</dt>
<dd>this <a href="../Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="transitionedToLocallyOpened()">
<h3>transitionedToLocallyOpened</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionedToLocallyOpened</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionedToLocallyDetached()">
<h3>transitionedToLocallyDetached</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionedToLocallyDetached</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionedToLocallyClosed()">
<h3>transitionedToLocallyClosed</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionedToLocallyClosed</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionToRemotelyDetached()">
<h3>transitionToRemotelyDetached</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionToRemotelyDetached</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionToRemotelyClosed()">
<h3>transitionToRemotelyClosed</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionToRemotelyClosed</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionToParentLocallyClosed()">
<h3>transitionToParentLocallyClosed</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionToParentLocallyClosed</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
<li>
<section class="detail" id="transitionToParentRemotelyClosed()">
<h3>transitionToParentRemotelyClosed</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">transitionToParentRemotelyClosed</span>()</div>
<dl class="notes">
<dt>Overrides:</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>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>