blob: e995b833b394c6e02dc126a78a2b65a423421fdf [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>DeliveryQueue (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="DeliveryQueue (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DeliveryQueue.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.client.util</a></div>
<h2 title="Interface DeliveryQueue" class="title">Interface DeliveryQueue</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="FifoDeliveryQueue.html" title="class in org.apache.qpid.protonj2.client.util">FifoDeliveryQueue</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">DeliveryQueue</span></pre>
<div class="block">Queue based storage interface for inbound AMQP <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> objects.</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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#clear()">clear</a></span>()</code></th>
<td class="colLast">
<div class="block">Clears the Queue of any queued <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> values.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Closes the Delivery Queue.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dequeue(long)">dequeue</a></span>&#8203;(long&nbsp;timeout)</code></th>
<td class="colLast">
<div class="block">Used to get an <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a>.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#dequeueNoWait()">dequeueNoWait</a></span>()</code></th>
<td class="colLast">
<div class="block">Used to get an enqueued <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> if on exists, otherwise returns null.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enqueue(org.apache.qpid.protonj2.client.impl.ClientDelivery)">enqueue</a></span>&#8203;(<a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;delivery)</code></th>
<td class="colLast">
<div class="block">Adds the given <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> to the end of the Delivery queue.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#enqueueFirst(org.apache.qpid.protonj2.client.impl.ClientDelivery)">enqueueFirst</a></span>&#8203;(<a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;delivery)</code></th>
<td class="colLast">
<div class="block">Adds the given <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> to the front of the queue.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isClosed()">isClosed</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isEmpty()">isEmpty</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isRunning()">isRunning</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#size()">size</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the number of deliveries currently in the Queue.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#start()">start</a></span>()</code></th>
<td class="colLast">
<div class="block">Starts the Delivery Queue.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stop()">stop</a></span>()</code></th>
<td class="colLast">
<div class="block">Stops the Delivery Queue.</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="enqueue(org.apache.qpid.protonj2.client.impl.ClientDelivery)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enqueue</h4>
<pre class="methodSignature">void&nbsp;enqueue&#8203;(<a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;delivery)</pre>
<div class="block">Adds the given <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> to the end of the Delivery queue.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delivery</code> - The in-bound Delivery to enqueue.</dd>
</dl>
</li>
</ul>
<a id="enqueueFirst(org.apache.qpid.protonj2.client.impl.ClientDelivery)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>enqueueFirst</h4>
<pre class="methodSignature">void&nbsp;enqueueFirst&#8203;(<a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;delivery)</pre>
<div class="block">Adds the given <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> to the front of the queue.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>delivery</code> - The in-bound Delivery to enqueue.</dd>
</dl>
</li>
</ul>
<a id="dequeue(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dequeue</h4>
<pre class="methodSignature"><a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;dequeue&#8203;(long&nbsp;timeout)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang" class="externalLink">InterruptedException</a></pre>
<div class="block">Used to get an <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a>. The amount of time this method blocks is based on the timeout value
that is supplied to it.
<ul>
<li>
If the timeout value is less than zero the dequeue operation blocks until a Delivery
is enqueued or the queue is stopped.
</li>
<li>
If the timeout value is zero the dequeue operation will not block and will either return
the next Delivery on the Queue or null to indicate the queue is empty.
</li>
<li>
If the timeout value is greater than zero then the method will either return the next Delivery
in the queue or block until the timeout (in milliseconds) has expired or until a new Delivery
is placed onto the queue.
</li>
</ul></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - The amount of time to wait for an entry to be added before returning null.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>null if we timeout or if the <a href="../Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> is closed.</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/InterruptedException.html?is-external=true" title="class or interface in java.lang" class="externalLink">InterruptedException</a></code> - if the wait is interrupted.</dd>
</dl>
</li>
</ul>
<a id="dequeueNoWait()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dequeueNoWait</h4>
<pre class="methodSignature"><a href="../impl/ClientDelivery.html" title="class in org.apache.qpid.protonj2.client.impl">ClientDelivery</a>&nbsp;dequeueNoWait()</pre>
<div class="block">Used to get an enqueued <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> if on exists, otherwise returns null.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the next Delivery in the Queue if one exists, otherwise null.</dd>
</dl>
</li>
</ul>
<a id="start()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre class="methodSignature">void&nbsp;start()</pre>
<div class="block">Starts the Delivery Queue. An non-started Queue will always return null for
any of the Queue methods.</div>
</li>
</ul>
<a id="stop()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre class="methodSignature">void&nbsp;stop()</pre>
<div class="block">Stops the Delivery Queue. Deliveries cannot be read from the Queue when it is in
the stopped state and any waiters will be woken.</div>
</li>
</ul>
<a id="close()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre class="methodSignature">void&nbsp;close()</pre>
<div class="block">Closes the Delivery Queue. No Delivery can be added or removed from the Queue
once it has entered the closed state.</div>
</li>
</ul>
<a id="isRunning()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isRunning</h4>
<pre class="methodSignature">boolean&nbsp;isRunning()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the Queue is not in the stopped or closed state.</dd>
</dl>
</li>
</ul>
<a id="isClosed()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre class="methodSignature">boolean&nbsp;isClosed()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the Queue has been closed.</dd>
</dl>
</li>
</ul>
<a id="isEmpty()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEmpty</h4>
<pre class="methodSignature">boolean&nbsp;isEmpty()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there are no deliveries in the queue.</dd>
</dl>
</li>
</ul>
<a id="size()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>size</h4>
<pre class="methodSignature">int&nbsp;size()</pre>
<div class="block">Returns the number of deliveries currently in the Queue. This value is only
meaningful at the time of the call as the size of the Queue changes rapidly
as deliveries arrive and are consumed.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the current number of <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> objects in the Queue.</dd>
</dl>
</li>
</ul>
<a id="clear()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>clear</h4>
<pre class="methodSignature">void&nbsp;clear()</pre>
<div class="block">Clears the Queue of any queued <a href="../Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> values.</div>
</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/DeliveryQueue.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>