blob: 892217ba197df83c0e76aa85868bd326e4f3cff1 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>IncomingDelivery (Qpid ProtonJ2 Parent 1.0.0-M18 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.engine, interface: IncomingDelivery">
<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/IncomingDelivery.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div>
<h1 title="Interface IncomingDelivery" class="title">Interface IncomingDelivery</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ProtonIncomingDelivery.html" title="class in org.apache.qpid.protonj2.engine.impl">ProtonIncomingDelivery</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">IncomingDelivery</span></div>
<div class="block">API for an incoming Delivery.</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>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#available()" class="member-name-link">available</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the number of bytes currently available for reading form this delivery, which may not be complete yet.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#claimAvailableBytes()" class="member-name-link">claimAvailableBytes</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Marks all available bytes as being claimed by the caller meaning that available byte count value can
be returned to the session which can expand the session incoming window to allow more bytes to be
sent from the remote peer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">deliveryAbortedHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Handler for aborted deliveries that is called if this delivery is aborted by the <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)" class="member-name-link">deliveryReadHandler</a><wbr>(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;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 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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second even-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>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Handler for updates to the remote state of incoming deliveries that have previously been received.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#disposition(org.apache.qpid.protonj2.types.transport.DeliveryState)" class="member-name-link">disposition</a><wbr>(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">updates the state of 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="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</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(org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)" class="member-name-link">disposition</a><wbr>(<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-tab3">
<div class="block">Update the delivery with the given disposition if not locally settled
and optionally settles the delivery if not already settled.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getAttachments()" class="member-name-link">getAttachments</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getDefaultDeliveryState()" class="member-name-link">getDefaultDeliveryState</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLink()" class="member-name-link">getLink</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;T&gt;&nbsp;T</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinkedResource()" class="member-name-link">getLinkedResource</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>&lt;T&gt;&nbsp;T</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getLinkedResource(java.lang.Class)" class="member-name-link">getLinkedResource</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;typeClass)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the linked resource (if set) and returns it using the type information
provided to cast the returned value.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMessageFormat()" class="member-name-link">getMessageFormat</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 message-format for this Delivery, representing the 32bit value using an int.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getRemoteState()" class="member-name-link">getRemoteState</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getState()" class="member-name-link">getState</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types">DeliveryTag</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTag()" class="member-name-link">getTag</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTransferCount()" class="member-name-link">getTransferCount</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the total number of transfer frames that have occurred for the given <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>.</div>
</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="#isAborted()" class="member-name-link">isAborted</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isPartial()" class="member-name-link">isPartial</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Check for whether the delivery is still partial.</div>
</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="#isRemotelySettled()" class="member-name-link">isRemotelySettled</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isSettled()" class="member-name-link">isSettled</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#readAll()" class="member-name-link">readAll</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the current read buffer without copying it effectively consuming all currently available
bytes from this delivery.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#readBytes(byte%5B%5D,int,int)" class="member-name-link">readBytes</a><wbr>(byte[]&nbsp;array,
int&nbsp;offset,
int&nbsp;length)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Reads bytes from this delivery and writes them into the destination array starting at the given offset and
continuing for the specified length reducing the available bytes by the value of the number of bytes written
to the target.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#readBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)" class="member-name-link">readBytes</a><wbr>(<a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Reads bytes from this delivery and writes them into the destination ProtonBuffer reducing the available
bytes by the value of the number of bytes written to the target.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)" class="member-name-link">setDefaultDeliveryState</a><wbr>(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</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 default DeliveryState to be used if a received delivery is settled/freed
without any disposition state having been previously applied.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#setLinkedResource(java.lang.Object)" class="member-name-link">setLinkedResource</a><wbr>(<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>&nbsp;resource)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Links a given resource to this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#settle()" class="member-name-link">settle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Settles this delivery locally, transmitting a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> frame to the remote
if the remote has not already settled the delivery.</div>
</div>
</div>
</div>
</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="getLink()">
<h3>getLink</h3>
<div class="member-signature"><span class="return-type"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></span>&nbsp;<span class="element-name">getLink</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the link that this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> is bound to.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="available()">
<h3>available</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">available</span>()</div>
<div class="block">Returns the number of bytes currently available for reading form this delivery, which may not be complete yet.
<p>
Note that this value will change as bytes are received, and is in general not equal to the total length of
a delivery, except the point where <a href="#isPartial()"><code>isPartial()</code></a> returns false and no content has yet been received by
the application.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the number of bytes currently available to read from this delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="claimAvailableBytes()">
<h3>claimAvailableBytes</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">claimAvailableBytes</span>()</div>
<div class="block">Marks all available bytes as being claimed by the caller meaning that available byte count value can
be returned to the session which can expand the session incoming window to allow more bytes to be
sent from the remote peer.
<p>
This method is useful in the case where the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> has been configured with a small incoming
capacity and the receiver needs to expand the session window in order to read the entire contents of
a delivery whose payload exceeds the configured session capacity. The <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>
implementation will track the amount of claimed bytes and ensure that it never releases back more
bytes to the <a href="Session.html" title="interface in org.apache.qpid.protonj2.engine"><code>Session</code></a> than has actually been received as a whole which allows this method
to be called with each incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frame of a large split framed delivery.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="readAll()">
<h3>readAll</h3>
<div class="member-signature"><span class="return-type"><a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a></span>&nbsp;<span class="element-name">readAll</span>()</div>
<div class="block">Returns the current read buffer without copying it effectively consuming all currently available
bytes from this delivery. If no data is available then this method returns <code>null</code>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the currently available read bytes for this delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="readBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<h3>readBytes</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">readBytes</span><wbr><span class="parameters">(<a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</span></div>
<div class="block">Reads bytes from this delivery and writes them into the destination ProtonBuffer reducing the available
bytes by the value of the number of bytes written to the target. The number of bytes written will be the
equal to the writable bytes of the target buffer. The write index of the target buffer will be incremented
by the number of bytes written into it.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>buffer</code> - The target buffer that will be written into.</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</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/IndexOutOfBoundsException.html" title="class or interface in java.lang" class="external-link">IndexOutOfBoundsException</a></code> - if the target buffer has more writable bytes than this delivery has readable bytes.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="readBytes(byte[],int,int)">
<h3>readBytes</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">readBytes</span><wbr><span class="parameters">(byte[]&nbsp;array,
int&nbsp;offset,
int&nbsp;length)</span></div>
<div class="block">Reads bytes from this delivery and writes them into the destination array starting at the given offset and
continuing for the specified length reducing the available bytes by the value of the number of bytes written
to the target.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>array</code> - The target buffer that will be written into.</dd>
<dd><code>offset</code> - The offset into the given array to begin writing.</dd>
<dd><code>length</code> - The number of bytes to write to the given array.</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</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/IndexOutOfBoundsException.html" title="class or interface in java.lang" class="external-link">IndexOutOfBoundsException</a></code> - if the length is greater than this delivery has readable bytes.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)">
<h3>setDefaultDeliveryState</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">setDefaultDeliveryState</span><wbr><span class="parameters">(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</span></div>
<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 class="notes">
<dt>Parameters:</dt>
<dd><code>state</code> - the default delivery state</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDefaultDeliveryState()">
<h3>getDefaultDeliveryState</h3>
<div class="member-signature"><span class="return-type"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></span>&nbsp;<span class="element-name">getDefaultDeliveryState</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the default delivery state for this delivery</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getAttachments()">
<h3>getAttachments</h3>
<div class="member-signature"><span class="return-type"><a href="Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a></span>&nbsp;<span class="element-name">getAttachments</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="Attachments.html" title="interface in org.apache.qpid.protonj2.engine"><code>Attachments</code></a> instance that is associated with this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setLinkedResource(java.lang.Object)">
<h3>setLinkedResource</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">setLinkedResource</span><wbr><span class="parameters">(<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>&nbsp;resource)</span></div>
<div class="block">Links a given resource to this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>resource</code> - The resource to link to this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>.</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinkedResource()">
<h3>getLinkedResource</h3>
<div class="member-signature"><span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">T</span>&nbsp;<span class="element-name">getLinkedResource</span>()</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - The type that the linked resource should be cast to on return.</dd>
<dt>Returns:</dt>
<dd>the user set linked resource for this <a href="Endpoint.html" title="interface in org.apache.qpid.protonj2.engine"><code>Endpoint</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getLinkedResource(java.lang.Class)">
<h3>getLinkedResource</h3>
<div class="member-signature"><span class="type-parameters">&lt;T&gt;</span>&nbsp;<span class="return-type">T</span>&nbsp;<span class="element-name">getLinkedResource</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;T&gt;&nbsp;typeClass)</span></div>
<div class="block">Gets the linked resource (if set) and returns it using the type information
provided to cast the returned value.</div>
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>T</code> - The type to cast the linked resource to if one is set.</dd>
<dt>Parameters:</dt>
<dd><code>typeClass</code> - the type's Class which is used for casting the returned value.</dd>
<dt>Returns:</dt>
<dd>the user set linked resource for this Context instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ClassCastException.html" title="class or interface in java.lang" class="external-link">ClassCastException</a></code> - if the linked resource cannot be cast to the type requested.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTag()">
<h3>getTag</h3>
<div class="member-signature"><span class="return-type"><a href="../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types">DeliveryTag</a></span>&nbsp;<span class="element-name">getTag</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types"><code>DeliveryTag</code></a> assigned to this Delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getState()">
<h3>getState</h3>
<div class="member-signature"><span class="return-type"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></span>&nbsp;<span class="element-name">getState</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> at the local side of this Delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMessageFormat()">
<h3>getMessageFormat</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getMessageFormat</span>()</div>
<div class="block">Gets the message-format for this Delivery, representing the 32bit value using an int.
<p>
The default value is 0 as per the message format defined in the core AMQP 1.0 specification.
<p>
See the following for more details:<br>
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-transfer">
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-transfer</a><br>
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-message-format">
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-transport-v1.0-os.html#type-message-format</a><br>
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format">
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format</a><br>
<a href="http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#definition-MESSAGE-FORMAT">
http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#definition-MESSAGE-FORMAT</a><br></div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the message-format for this Delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isPartial()">
<h3>isPartial</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isPartial</span>()</div>
<div class="block">Check for whether the delivery is still partial.
<p>
For a receiving Delivery, this means the delivery does not hold
a complete message payload as all the content hasn't been
received yet. Note that an <a href="#isAborted()"><code>aborted</code></a> delivery
will also be considered partial and the full payload won't
be received.
<p>
For a sending Delivery, this means that the application has not marked
the delivery as complete yet.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the delivery is partial</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#isAborted()"><code>isAborted()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isAborted()">
<h3>isAborted</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isAborted</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the delivery has been aborted.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isSettled()">
<h3>isSettled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isSettled</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the delivery has been settled locally.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disposition(org.apache.qpid.protonj2.types.transport.DeliveryState)">
<h3>disposition</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">disposition</span><wbr><span class="parameters">(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</span></div>
<div class="block">updates the state of the delivery</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>state</code> - the new delivery state</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disposition(org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">
<h3>disposition</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">disposition</span><wbr><span class="parameters">(<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">Update the delivery with the given disposition if not locally settled
and optionally settles the delivery if not already settled.
<p>
Applies the given delivery state and local settlement value to this delivery
writing a new <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> frame if the remote has not already settled
the delivery. Once locally settled no additional updates to the local
<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> can be applied and if attempted an <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"><code>IllegalStateException</code></a>
will be thrown to indicate this is not possible.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>state</code> - the new delivery state</dd>
<dd><code>settle</code> - if true the delivery is settled.</dd>
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="settle()">
<h3>settle</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">settle</span>()</div>
<div class="block">Settles this delivery locally, transmitting a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> frame to the remote
if the remote has not already settled the delivery. Once locally settled the delivery
will not accept any additional updates to the <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> via one of the
<a href="#disposition(org.apache.qpid.protonj2.types.transport.DeliveryState)"><code>disposition(DeliveryState)</code></a> or <a href="#disposition(org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)"><code>disposition(DeliveryState, boolean)</code></a>
methods.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getRemoteState()">
<h3>getRemoteState</h3>
<div class="member-signature"><span class="return-type"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></span>&nbsp;<span class="element-name">getRemoteState</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a> at the remote side of this Delivery.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isRemotelySettled()">
<h3>isRemotelySettled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isRemotelySettled</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the delivery has been settled by the remote.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getTransferCount()">
<h3>getTransferCount</h3>
<div class="member-signature"><span class="return-type">int</span>&nbsp;<span class="element-name">getTransferCount</span>()</div>
<div class="block">Returns the total number of transfer frames that have occurred for the given <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the number of <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames that this <a href="OutgoingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>OutgoingDelivery</code></a> has initiated.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>deliveryReadHandler</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">deliveryReadHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</span></div>
<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.
<p>
This handler is useful in cases where an incoming delivery is split across many incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a>
frames either due to a large size or a small max frame size setting and the processing is handed off to some
other resource other than the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine"><code>Receiver</code></a> that original handling the first transfer frame. If the initial
<a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> carries the entire delivery payload then this event handler will never be called. Once set
this event handler receiver all updates of incoming delivery <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames which would otherwise have
been sent to the <a href="Receiver.html#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)"><code>Receiver.deliveryReadHandler(EventHandler)</code></a> instance.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<h3>deliveryAbortedHandler</h3>
<div class="member-signature"><span class="return-type"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></span>&nbsp;<span class="element-name">deliveryAbortedHandler</span><wbr><span class="parameters">(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</span></div>
<div class="block">Handler for aborted deliveries that is called if this delivery is aborted by the <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>.
<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 class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</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="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</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="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</span></div>
<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>. If the initial <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> of
an incoming delivery already indicates settlement then this handler will never be called.</div>
<dl class="notes">
<dt>Parameters:</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>Returns:</dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</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 &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>