<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>IncomingDelivery (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: 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; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>
