| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>Sender (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, interface: Sender"> |
| <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/Sender.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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </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> <a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div> |
| <h1 title="Interface Sender" class="title">Interface Sender</h1> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Superinterfaces:</dt> |
| <dd><code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a><<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>></code>, <code><a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a><<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>></code></dd> |
| </dl> |
| <dl class="notes"> |
| <dt>All Known Implementing Classes:</dt> |
| <dd><code><a href="impl/ProtonSender.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonSender</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">Sender</span><span class="extends-implements"> |
| extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a><<a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a>></span></div> |
| <div class="block">AMQP Sender API</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel"> |
| <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="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-tab3"><code><a href="#current()" class="member-name-link">current</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Gets the 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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#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><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> handler)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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-tab3"><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-tab3"><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><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> filter, |
| <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a> state, |
| boolean settle)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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-tab3"><code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#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-tab3"> |
| <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-tab3"><code><a href="DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDeliveryTagGenerator()" class="member-name-link">getDeliveryTagGenerator</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><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-tab3"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isSendable()" class="member-name-link">isSendable</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><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-tab3"><code><a href="#next()" class="member-name-link">next</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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 even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><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> generator)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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="#next()"><code>next()</code></a> |
| method.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#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><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> filter)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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-tab3"><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><<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-tab3"><code><a href="#unsettled()" class="member-name-link">unsettled</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <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.Endpoint">Methods inherited from interface 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 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#creditStateUpdateHandler(org.apache.qpid.protonj2.engine.EventHandler)">creditStateUpdateHandler</a>, <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#getCredit()">getCredit</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#getRole()">getRole</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#isDraining()">isDraining</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"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="drained()"> |
| <h3>drained</h3> |
| <div class="member-signature"><span class="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span> <span class="element-name">drained</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>Returns:</dt> |
| <dd>this <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a> instance.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the link is not draining currently.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isSendable()"> |
| <h3>isSendable</h3> |
| <div class="member-signature"><span class="return-type">boolean</span> <span class="element-name">isSendable</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>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="current()"> |
| <h3>current</h3> |
| <div class="member-signature"><span class="return-type"><a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></span> <span class="element-name">current</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>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="return-type"><a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a></span> <span class="element-name">next</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>Returns:</dt> |
| <dd>a new delivery instance unless the current delivery is not complete.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if the current delivery has not been marked complete.</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="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span> <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><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> filter, |
| <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a> state, |
| boolean settle)</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>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="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span> <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><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> filter)</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>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="unsettled()"> |
| <h3>unsettled</h3> |
| <div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html" title="class or interface in java.util" class="external-link">Collection</a><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>></span> <span class="element-name">unsettled</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>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="return-type">boolean</span> <span class="element-name">hasUnsettled</span>()</div> |
| <dl class="notes"> |
| <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="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span> <span class="element-name">setDeliveryTagGenerator</span><wbr><span class="parameters">(<a href="DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a> generator)</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="#next()"><code>next()</code></a> |
| method.</div> |
| <dl class="notes"> |
| <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="return-type"><a href="DeliveryTagGenerator.html" title="interface in org.apache.qpid.protonj2.engine">DeliveryTagGenerator</a></span> <span class="element-name">getDeliveryTagGenerator</span>()</div> |
| <dl class="notes"> |
| <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="deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)"> |
| <h3>deliveryStateUpdatedHandler</h3> |
| <div class="member-signature"><span class="return-type"><a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine">Sender</a></span> <span class="element-name">deliveryStateUpdatedHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a><<a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">OutgoingDelivery</a>> handler)</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>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> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |