blob: 8cfb64ea4f42281d60505c781bff7b6b84685afa [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>StreamTracker (Qpid ProtonJ2 Parent 1.0.0-M18 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.client, interface: StreamTracker">
<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/StreamTracker.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.client</a></div>
<h1 title="Interface StreamTracker" class="title">Interface StreamTracker</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="impl/ClientNoOpStreamTracker.html" title="class in org.apache.qpid.protonj2.client.impl">ClientNoOpStreamTracker</a></code>, <code><a href="impl/ClientStreamTracker.html" title="class in org.apache.qpid.protonj2.client.impl">ClientStreamTracker</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">StreamTracker</span></div>
<div class="block">Special StreamSender related <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> that is linked to any <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a>
instance and provides the <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> functions for those types of messages.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#awaitAccepted()" class="member-name-link">awaitAccepted</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Waits if necessary for the remote to settle the sent delivery with an <a href="../types/messaging/Accepted.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Accepted</code></a>
disposition unless it has either already been settled and accepted or the original delivery
was sent settled in which case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#awaitAccepted(long,java.util.concurrent.TimeUnit)" class="member-name-link">awaitAccepted</a><wbr>(long&nbsp;timeout,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a>&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Waits if necessary for the remote to settle the sent delivery with an <a href="../types/messaging/Accepted.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Accepted</code></a>
disposition unless it has either already been settled and accepted or the original delivery
was sent settled in which case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#awaitSettlement()" class="member-name-link">awaitSettlement</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Waits if necessary for the remote to settle the sent delivery unless it has
either already been settled or the original delivery was sent settled in which
case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#awaitSettlement(long,java.util.concurrent.TimeUnit)" class="member-name-link">awaitSettlement</a><wbr>(long&nbsp;timeout,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a>&nbsp;unit)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Waits if necessary for the remote to settle the sent delivery unless it has
either already been settled or the original delivery was sent settled in which
case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</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.client.DeliveryState,boolean)" class="member-name-link">disposition</a><wbr>(<a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">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">Updates the DeliveryState, and optionally settle the delivery as well.</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="#remoteSettled()" class="member-name-link">remoteSettled</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets whether the delivery was settled by the remote peer yet.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">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="#remoteState()" class="member-name-link">remoteState</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the current remote state for the tracked delivery.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client">StreamSender</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#sender()" class="member-name-link">sender</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="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</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 the delivery locally, if not <a href="LinkOptions.html#autoSettle()"><code>auto-settling</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="#settled()" class="member-name-link">settled</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="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html" title="class or interface in java.util.concurrent" class="external-link">Future</a>&lt;<a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#settlementFuture()" class="member-name-link">settlementFuture</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 a future that can be used to wait for the remote to acknowledge receipt of
a sent message by settling it.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">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="#state()" class="member-name-link">state</a>()</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 current local state for the tracked 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="sender()">
<h3>sender</h3>
<div class="member-signature"><span class="return-type"><a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client">StreamSender</a></span>&nbsp;<span class="element-name">sender</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the <a href="StreamSender.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSender</code></a> that was used to send the delivery that is being tracked.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="settle()">
<h3>settle</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">settle</span>()
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Settles the delivery locally, if not <a href="LinkOptions.html#autoSettle()"><code>auto-settling</code></a>.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while performing the settlement.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="settled()">
<h3>settled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">settled</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>true if the sent message has been locally settled.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="state()">
<h3>state</h3>
<div class="member-signature"><span class="return-type"><a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">DeliveryState</a></span>&nbsp;<span class="element-name">state</span>()</div>
<div class="block">Gets the current local state for the tracked delivery.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the delivery state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="remoteState()">
<h3>remoteState</h3>
<div class="member-signature"><span class="return-type"><a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">DeliveryState</a></span>&nbsp;<span class="element-name">remoteState</span>()</div>
<div class="block">Gets the current remote state for the tracked delivery.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the remote <a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client"><code>DeliveryState</code></a> once a value is received from the remote.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="remoteSettled()">
<h3>remoteSettled</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">remoteSettled</span>()</div>
<div class="block">Gets whether the delivery was settled by the remote peer yet.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>whether the delivery is remotely settled</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disposition(org.apache.qpid.protonj2.client.DeliveryState,boolean)">
<h3>disposition</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">disposition</span><wbr><span class="parameters">(<a href="DeliveryState.html" title="interface in org.apache.qpid.protonj2.client">DeliveryState</a>&nbsp;state,
boolean&nbsp;settle)</span>
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Updates the DeliveryState, and optionally settle the delivery as well.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>state</code> - the delivery state to apply</dd>
<dd><code>settle</code> - whether to <a href="#settle()"><code>settle()</code></a> the delivery at the same time</dd>
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while applying the given disposition</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="settlementFuture()">
<h3>settlementFuture</h3>
<div class="member-signature"><span class="return-type"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html" title="class or interface in java.util.concurrent" class="external-link">Future</a>&lt;<a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a>&gt;</span>&nbsp;<span class="element-name">settlementFuture</span>()</div>
<div class="block">Returns a future that can be used to wait for the remote to acknowledge receipt of
a sent message by settling it.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/Future.html" title="class or interface in java.util.concurrent" class="external-link"><code>Future</code></a> that can be used to wait on remote settlement.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="awaitSettlement()">
<h3>awaitSettlement</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">awaitSettlement</span>()
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Waits if necessary for the remote to settle the sent delivery unless it has
either already been settled or the original delivery was sent settled in which
case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while awaiting the remote settlement.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="awaitSettlement(long,java.util.concurrent.TimeUnit)">
<h3>awaitSettlement</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">awaitSettlement</span><wbr><span class="parameters">(long&nbsp;timeout,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a>&nbsp;unit)</span>
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Waits if necessary for the remote to settle the sent delivery unless it has
either already been settled or the original delivery was sent settled in which
case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>timeout</code> - the maximum time to wait for the remote to settle.</dd>
<dd><code>unit</code> - the time unit of the timeout argument.</dd>
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while awaiting the remote settlement.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="awaitAccepted()">
<h3>awaitAccepted</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">awaitAccepted</span>()
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Waits if necessary for the remote to settle the sent delivery with an <a href="../types/messaging/Accepted.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Accepted</code></a>
disposition unless it has either already been settled and accepted or the original delivery
was sent settled in which case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientDeliveryStateException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientDeliveryStateException</a></code> - if the remote sends a disposition other than Accepted.</dd>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while awaiting the remote settlement.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="awaitAccepted(long,java.util.concurrent.TimeUnit)">
<h3>awaitAccepted</h3>
<div class="member-signature"><span class="return-type"><a href="StreamTracker.html" title="interface in org.apache.qpid.protonj2.client">StreamTracker</a></span>&nbsp;<span class="element-name">awaitAccepted</span><wbr><span class="parameters">(long&nbsp;timeout,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/concurrent/TimeUnit.html" title="class or interface in java.util.concurrent" class="external-link">TimeUnit</a>&nbsp;unit)</span>
throws <span class="exceptions"><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></span></div>
<div class="block">Waits if necessary for the remote to settle the sent delivery with an <a href="../types/messaging/Accepted.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Accepted</code></a>
disposition unless it has either already been settled and accepted or the original delivery
was sent settled in which case the remote will not send a <a href="../types/transport/Disposition.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Disposition</code></a> back.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>timeout</code> - the maximum time to wait for the remote to settle.</dd>
<dd><code>unit</code> - the time unit of the timeout argument.</dd>
<dt>Returns:</dt>
<dd>this <a href="Tracker.html" title="interface in org.apache.qpid.protonj2.client"><code>Tracker</code></a> instance.</dd>
<dt>Throws:</dt>
<dd><code><a href="exceptions/ClientDeliveryStateException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientDeliveryStateException</a></code> - if the remote sends a disposition other than Accepted.</dd>
<dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if an error occurs while awaiting the remote settlement.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>