blob: 93a5f578e8f245d8164353b6df90151bde2ebc5c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>Receiver (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="Receiver (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Receiver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div>
<h2 title="Interface Receiver" class="title">Interface Receiver</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code><a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;</code>, <code><a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;</code></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonReceiver.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonReceiver</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">Receiver</span>
extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a>&lt;<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&gt;</pre>
<div class="block">AMQP Receiver API</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addCredit(int)">addCredit</a></span>&#8203;(int&nbsp;additionalCredit)</code></th>
<td class="colLast">
<div class="block">Adds the given amount of credit for the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryAbortedHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for aborted deliveries that is called for each aborted in-progress delivery.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryReadHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for incoming deliveries that is called for each incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frame that comprises
either one complete delivery or a chunk of a split framed <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryStateUpdatedHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for updates to the remote state of incoming deliveries that have previously been received.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">disposition</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;filter,
<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
boolean&nbsp;settle)</code></th>
<td class="colLast">
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> apply the given predicate
and if it matches then apply the given delivery state and settled value to it.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drain()">drain</a></span>()</code></th>
<td class="colLast">
<div class="block">Initiate a drain of all remaining credit of this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#drain(int)">drain</a></span>&#8203;(int&nbsp;credit)</code></th>
<td class="colLast">
<div class="block">Initiate a drain of the given credit from this this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultDeliveryState()">getDefaultDeliveryState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#hasUnsettled()">hasUnsettled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)">setDefaultDeliveryState</a></span>&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</code></th>
<td class="colLast">
<div class="block">Configures a default DeliveryState to be used if a received delivery is settled/freed
without any disposition state having been previously applied.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#settle(java.util.function.Predicate)">settle</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;filter)</code></th>
<td class="colLast">
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> apply the given predicate
and if it matches then settle the delivery.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#unsettled()">unsettled</a></span>()</code></th>
<td class="colLast">
<div class="block">Retrieves the list of unsettled deliveries for this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link which have yet to be settled
on this end of the link.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.Endpoint">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine">Endpoint</a></h3>
<code><a href="Endpoint.html#close()">close</a>, <a href="Endpoint.html#closeHandler(org.apache.qpid.protonj2.engine.EventHandler)">closeHandler</a>, <a href="Endpoint.html#engineShutdownHandler(org.apache.qpid.protonj2.engine.EventHandler)">engineShutdownHandler</a>, <a href="Endpoint.html#getAttachments()">getAttachments</a>, <a href="Endpoint.html#getCondition()">getCondition</a>, <a href="Endpoint.html#getDesiredCapabilities()">getDesiredCapabilities</a>, <a href="Endpoint.html#getEngine()">getEngine</a>, <a href="Endpoint.html#getLinkedResource()">getLinkedResource</a>, <a href="Endpoint.html#getLinkedResource(java.lang.Class)">getLinkedResource</a>, <a href="Endpoint.html#getOfferedCapabilities()">getOfferedCapabilities</a>, <a href="Endpoint.html#getProperties()">getProperties</a>, <a href="Endpoint.html#getRemoteCondition()">getRemoteCondition</a>, <a href="Endpoint.html#getRemoteDesiredCapabilities()">getRemoteDesiredCapabilities</a>, <a href="Endpoint.html#getRemoteOfferedCapabilities()">getRemoteOfferedCapabilities</a>, <a href="Endpoint.html#getRemoteProperties()">getRemoteProperties</a>, <a href="Endpoint.html#isLocallyClosed()">isLocallyClosed</a>, <a href="Endpoint.html#isLocallyOpen()">isLocallyOpen</a>, <a href="Endpoint.html#localCloseHandler(org.apache.qpid.protonj2.engine.EventHandler)">localCloseHandler</a>, <a href="Endpoint.html#localOpenHandler(org.apache.qpid.protonj2.engine.EventHandler)">localOpenHandler</a>, <a href="Endpoint.html#open()">open</a>, <a href="Endpoint.html#openHandler(org.apache.qpid.protonj2.engine.EventHandler)">openHandler</a>, <a href="Endpoint.html#setCondition(org.apache.qpid.protonj2.types.transport.ErrorCondition)">setCondition</a>, <a href="Endpoint.html#setDesiredCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setDesiredCapabilities</a>, <a href="Endpoint.html#setLinkedResource(java.lang.Object)">setLinkedResource</a>, <a href="Endpoint.html#setOfferedCapabilities(org.apache.qpid.protonj2.types.Symbol...)">setOfferedCapabilities</a>, <a href="Endpoint.html#setProperties(java.util.Map)">setProperties</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.engine.Link">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.engine.<a href="Link.html" title="interface in org.apache.qpid.protonj2.engine">Link</a></h3>
<code><a href="Link.html#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></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="addCredit(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addCredit</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;addCredit&#8203;(int&nbsp;additionalCredit)</pre>
<div class="block">Adds the given amount of credit for the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>additionalCredit</code> - the new amount of credits to add.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if the credit amount is negative.</dd>
</dl>
</li>
</ul>
<a id="drain()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drain</h4>
<pre class="methodSignature">boolean&nbsp;drain()</pre>
<div class="block">Initiate a drain of all remaining credit of this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if a drain was started or false if the link already had no credit to drain.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if an existing drain attempt is incomplete.</dd>
</dl>
</li>
</ul>
<a id="drain(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>drain</h4>
<pre class="methodSignature">boolean&nbsp;drain&#8203;(int&nbsp;credit)</pre>
<div class="block">Initiate a drain of the given credit from this this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link. If the credit
given is greater than the current link credit the current credit is increased, however if
the amount of credit given is less that the current amount of link credit an exception is
thrown.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>credit</code> - The amount of credit that should be requested to be drained from this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if a drain was started or false if the value is zero and the link had no credit.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalStateException</a></code> - if an existing drain attempt is incomplete.</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IllegalArgumentException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IllegalArgumentException</a></code> - if the credit value given is less than the current value.</dd>
</dl>
</li>
</ul>
<a id="setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultDeliveryState</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;setDefaultDeliveryState&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</pre>
<div class="block">Configures a default DeliveryState to be used if a received delivery is settled/freed
without any disposition state having been previously applied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - the default delivery state</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> for chaining.</dd>
</dl>
</li>
</ul>
<a id="getDefaultDeliveryState()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultDeliveryState</h4>
<pre class="methodSignature"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;getDefaultDeliveryState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default delivery state for this delivery</dd>
</dl>
</li>
</ul>
<a id="disposition(java.util.function.Predicate,org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disposition</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;disposition&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;filter,
<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
boolean&nbsp;settle)</pre>
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> apply the given predicate
and if it matches then apply the given delivery state and settled value to it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The predicate to apply to each unsettled delivery to test for a match.</dd>
<dd><code>state</code> - The new <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> to apply to any matching outgoing deliveries.</dd>
<dd><code>settle</code> - Boolean indicating if the matching unsettled deliveries should be settled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> for chaining</dd>
</dl>
</li>
</ul>
<a id="settle(java.util.function.Predicate)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>settle</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;settle&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/function/Predicate.html?is-external=true" title="class or interface in java.util.function" class="externalLink">Predicate</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;filter)</pre>
<div class="block">For each unsettled outgoing delivery that is pending in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> apply the given predicate
and if it matches then settle the delivery.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>filter</code> - The predicate to apply to each unsettled delivery to test for a match.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> for chaining</dd>
</dl>
</li>
</ul>
<a id="unsettled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>unsettled</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;unsettled()</pre>
<div class="block">Retrieves the list of unsettled deliveries for this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link which have yet to be settled
on this end of the link. When the <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> is settled by the receiver the value will
be removed from the collection.
The <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink"><code>Collection</code></a> returned from this method is a copy of the internally maintained data and is
not modifiable. The caller should use this method judiciously to avoid excess GC overhead.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection of unsettled deliveries or an empty list if no pending deliveries are outstanding.</dd>
</dl>
</li>
</ul>
<a id="hasUnsettled()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasUnsettled</h4>
<pre class="methodSignature">boolean&nbsp;hasUnsettled()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there are unsettled deliveries for this <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> link.</dd>
</dl>
</li>
</ul>
<a id="deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryReadHandler</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;deliveryReadHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for incoming deliveries that is called for each incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frame that comprises
either one complete delivery or a chunk of a split framed <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a>. The handler should check
that the delivery being read is partial or not and act accordingly, as partial deliveries expect additional
updates as more frames comprising that <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> arrive or the remote aborts the transfer.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames arrive on this receiver link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this receiver</dd>
</dl>
</li>
</ul>
<a id="deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryAbortedHandler</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;deliveryAbortedHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for aborted deliveries that is called for each aborted in-progress delivery.
<p>
This handler is an optional convenience handler that supplements the standard
<a href="#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>deliveryReadHandler(EventHandler)</code></a> in cases where the users wishes to break out the
processing of inbound delivery data from abort processing. If this handler is not set the
<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> will call the registered <a href="#deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>deliveryAbortedHandler(EventHandler)</code></a>
if one is set.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames arrive on this receiver link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this receiver</dd>
</dl>
</li>
</ul>
<a id="deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>deliveryStateUpdatedHandler</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;deliveryStateUpdatedHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for updates to the remote state of incoming deliveries that have previously been received.
<p>
Remote state updates for an <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> can happen when the remote settles a complete
<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> or otherwise modifies the delivery outcome and the user needs to act on those
changes such as a spontaneous update to the <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a>.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when a new remote state update for an <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> arrives on this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this receiver</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/Receiver.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>