<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>IncomingDelivery (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="IncomingDelivery (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"i22":6,"i23":6,"i24":6,"i25":6,"i26":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IncomingDelivery.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.engine</a></div>
<h2 title="Interface IncomingDelivery" class="title">Interface IncomingDelivery</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<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>
<pre>public interface <span class="typeNameLabel">IncomingDelivery</span></pre>
<div class="block">API for an incoming Delivery.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#available()">available</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of bytes currently available for reading form this delivery, which may not be complete yet.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#claimAvailableBytes()">claimAvailableBytes</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryAbortedHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for aborted deliveries that is called if this delivery is aborted by the <a href="Sender.html" title="interface in org.apache.qpid.protonj2.engine"><code>Sender</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryReadHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for incoming deliveries that is called for each incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frame that comprises
 either one complete delivery or a chunk of a split framed <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a>.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">deliveryStateUpdatedHandler</a></span>&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Handler for updates to the remote state of incoming deliveries that have previously been received.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disposition(org.apache.qpid.protonj2.types.transport.DeliveryState)">disposition</a></span>&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</code></th>
<td class="colLast">
<div class="block">updates the state of the delivery</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#disposition(org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">disposition</a></span>&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
           boolean&nbsp;settle)</code></th>
<td class="colLast">
<div class="block">Update the delivery with the given disposition if not locally settled
 and optionally settles the delivery if not already settled.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getAttachments()">getAttachments</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultDeliveryState()">getDefaultDeliveryState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLink()">getLink</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLinkedResource()">getLinkedResource</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>&lt;T&gt;&nbsp;T</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLinkedResource(java.lang.Class)">getLinkedResource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;typeClass)</code></th>
<td class="colLast">
<div class="block">Gets the linked resource (if set) and returns it using the type information
 provided to cast the returned value.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMessageFormat()">getMessageFormat</a></span>()</code></th>
<td class="colLast">
<div class="block">Gets the message-format for this Delivery, representing the 32bit value using an int.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRemoteState()">getRemoteState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getState()">getState</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code><a href="../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types">DeliveryTag</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTag()">getTag</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getTransferCount()">getTransferCount</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isAborted()">isAborted</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isPartial()">isPartial</a></span>()</code></th>
<td class="colLast">
<div class="block">Check for whether the delivery is still partial.</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRemotelySettled()">isRemotelySettled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSettled()">isSettled</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code><a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readAll()">readAll</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the current read buffer without copying it effectively consuming all currently available
 bytes from this delivery.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readBytes(byte%5B%5D,int,int)">readBytes</a></span>&#8203;(byte[]&nbsp;array,
         int&nbsp;offset,
         int&nbsp;length)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)">readBytes</a></span>&#8203;(<a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)">setDefaultDeliveryState</a></span>&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</code></th>
<td class="colLast">
<div class="block">Configures a default DeliveryState to be used if a received delivery is settled/freed
 without any disposition state having been previously applied.</div>
</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setLinkedResource(java.lang.Object)">setLinkedResource</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;resource)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#settle()">settle</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="getLink()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLink</h4>
<pre class="methodSignature"><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.engine">Receiver</a>&nbsp;getLink()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="available()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>available</h4>
<pre class="methodSignature">int&nbsp;available()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes currently available to read from this delivery.</dd>
</dl>
</li>
</ul>
<a id="claimAvailableBytes()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>claimAvailableBytes</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;claimAvailableBytes()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="readAll()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readAll</h4>
<pre class="methodSignature"><a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;readAll()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the currently available read bytes for this delivery.</dd>
</dl>
</li>
</ul>
<a id="readBytes(org.apache.qpid.protonj2.buffer.ProtonBuffer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readBytes</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;readBytes&#8203;(<a href="../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer)</pre>
<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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The target buffer that will be written into.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IndexOutOfBoundsException</a></code> - if the target buffer has more writable bytes than this delivery has readable bytes.</dd>
</dl>
</li>
</ul>
<a id="readBytes(byte[],int,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readBytes</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;readBytes&#8203;(byte[]&nbsp;array,
                           int&nbsp;offset,
                           int&nbsp;length)</pre>
<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>
<dt><span class="paramLabel">Parameters:</span></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><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/IndexOutOfBoundsException.html?is-external=true" title="class or interface in java.lang" class="externalLink">IndexOutOfBoundsException</a></code> - if the length is greater than this delivery has readable bytes.</dd>
</dl>
</li>
</ul>
<a id="setDefaultDeliveryState(org.apache.qpid.protonj2.types.transport.DeliveryState)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultDeliveryState</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;setDefaultDeliveryState&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</pre>
<div class="block">Configures a default DeliveryState to be used if a received delivery is settled/freed
 without any disposition state having been previously applied.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - the default delivery state</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="getDefaultDeliveryState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultDeliveryState</h4>
<pre class="methodSignature"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;getDefaultDeliveryState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the default delivery state for this delivery</dd>
</dl>
</li>
</ul>
<a id="getAttachments()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getAttachments</h4>
<pre class="methodSignature"><a href="Attachments.html" title="interface in org.apache.qpid.protonj2.engine">Attachments</a>&nbsp;getAttachments()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="setLinkedResource(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setLinkedResource</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;setLinkedResource&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a>&nbsp;resource)</pre>
<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>
<dt><span class="paramLabel">Parameters:</span></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><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="getLinkedResource()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLinkedResource</h4>
<pre class="methodSignature">&lt;T&gt;&nbsp;T&nbsp;getLinkedResource()</pre>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type that the linked resource should be cast to on return.</dd>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="getLinkedResource(java.lang.Class)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLinkedResource</h4>
<pre class="methodSignature">&lt;T&gt;&nbsp;T&nbsp;getLinkedResource&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Class.html?is-external=true" title="class or interface in java.lang" class="externalLink">Class</a>&lt;T&gt;&nbsp;typeClass)</pre>
<div class="block">Gets the linked resource (if set) and returns it using the type information
 provided to cast the returned value.</div>
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>T</code> - The type to cast the linked resource to if one is set.</dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>typeClass</code> - the type's Class which is used for casting the returned value.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the user set linked resource for this Context instance.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/ClassCastException.html?is-external=true" title="class or interface in java.lang" class="externalLink">ClassCastException</a></code> - if the linked resource cannot be cast to the type requested.</dd>
</dl>
</li>
</ul>
<a id="getTag()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTag</h4>
<pre class="methodSignature"><a href="../types/DeliveryTag.html" title="interface in org.apache.qpid.protonj2.types">DeliveryTag</a>&nbsp;getTag()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="getState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getState</h4>
<pre class="methodSignature"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;getState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="getMessageFormat()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMessageFormat</h4>
<pre class="methodSignature">int&nbsp;getMessageFormat()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the message-format for this Delivery.</dd>
</dl>
</li>
</ul>
<a id="isPartial()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isPartial</h4>
<pre class="methodSignature">boolean&nbsp;isPartial()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the delivery is partial</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="#isAborted()"><code>isAborted()</code></a></dd>
</dl>
</li>
</ul>
<a id="isAborted()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isAborted</h4>
<pre class="methodSignature">boolean&nbsp;isAborted()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the delivery has been aborted.</dd>
</dl>
</li>
</ul>
<a id="isSettled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSettled</h4>
<pre class="methodSignature">boolean&nbsp;isSettled()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the delivery has been settled locally.</dd>
</dl>
</li>
</ul>
<a id="disposition(org.apache.qpid.protonj2.types.transport.DeliveryState)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disposition</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;disposition&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state)</pre>
<div class="block">updates the state of the delivery</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - the new delivery state</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="disposition(org.apache.qpid.protonj2.types.transport.DeliveryState,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>disposition</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;disposition&#8203;(<a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;state,
                             boolean&nbsp;settle)</pre>
<div class="block">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?is-external=true" title="class or interface in java.lang" class="externalLink"><code>IllegalStateException</code></a>
 will be thrown to indicate this is not possible.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>state</code> - the new delivery state</dd>
<dd><code>settle</code> - if true the delivery is settled.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="settle()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>settle</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;settle()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="getRemoteState()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRemoteState</h4>
<pre class="methodSignature"><a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport">DeliveryState</a>&nbsp;getRemoteState()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="isRemotelySettled()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRemotelySettled</h4>
<pre class="methodSignature">boolean&nbsp;isRemotelySettled()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the delivery has been settled by the remote.</dd>
</dl>
</li>
</ul>
<a id="getTransferCount()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTransferCount</h4>
<pre class="methodSignature">int&nbsp;getTransferCount()</pre>
<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>
<dt><span class="returnLabel">Returns:</span></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>
</li>
</ul>
<a id="deliveryReadHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryReadHandler</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;deliveryReadHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for incoming deliveries that is called for each incoming <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frame that comprises
 either one complete delivery or a chunk of a split framed <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a>.  The handler should check
 that the delivery being read is partial or not and act accordingly, as partial deliveries expect additional
 updates as more frames comprising that <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> arrive or the remote aborts the transfer.
 <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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames arrive on this receiver link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="deliveryAbortedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>deliveryAbortedHandler</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;deliveryAbortedHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for aborted deliveries that is called 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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames arrive on this receiver link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
<a id="deliveryStateUpdatedHandler(org.apache.qpid.protonj2.engine.EventHandler)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>deliveryStateUpdatedHandler</h4>
<pre class="methodSignature"><a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&nbsp;deliveryStateUpdatedHandler&#8203;(<a href="EventHandler.html" title="interface in org.apache.qpid.protonj2.engine">EventHandler</a>&lt;<a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine">IncomingDelivery</a>&gt;&nbsp;handler)</pre>
<div class="block">Handler for updates to the remote state of incoming deliveries that have previously been received.
 <p>
 Remote state updates for an <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> can happen when the remote settles a complete
 <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> or otherwise modifies the delivery outcome and the user needs to act on those
 changes such as a spontaneous update to the <a href="../types/transport/DeliveryState.html" title="interface in org.apache.qpid.protonj2.types.transport"><code>DeliveryState</code></a>.  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>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>handler</code> - The handler that will be invoked when a new remote state update for an <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> arrives on this link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="IncomingDelivery.html" title="interface in org.apache.qpid.protonj2.engine"><code>IncomingDelivery</code></a> instance.</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/IncomingDelivery.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
