| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (17) --> |
| <title>StreamReceiver (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: StreamReceiver"> |
| <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/StreamReceiver.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: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </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> <a href="package-summary.html">org.apache.qpid.protonj2.client</a></div> |
| <h1 title="Interface StreamReceiver" class="title">Interface StreamReceiver</h1> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Superinterfaces:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html" title="class or interface in java.lang" class="external-link">AutoCloseable</a></code>, <code><a href="Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a><<a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a>></code></dd> |
| </dl> |
| <dl class="notes"> |
| <dt>All Known Implementing Classes:</dt> |
| <dd><code><a href="impl/ClientStreamReceiver.html" title="class in org.apache.qpid.protonj2.client.impl">ClientStreamReceiver</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">StreamReceiver</span><span class="extends-implements"> |
| extends <a href="Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a><<a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a>></span></div> |
| <div class="block">A receiver of large message content that is delivered in multiple <a href="../types/transport/Transfer.html" title="class in org.apache.qpid.protonj2.types.transport"><code>Transfer</code></a> frames from |
| the remote.</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="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addCredit(int)" class="member-name-link">addCredit</a><wbr>(int credits)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Adds credit to the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link for use when the receiver has not been configured |
| with a credit window.</div> |
| </div> |
| <div class="col-first odd-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><<a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a>></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#drain()" class="member-name-link">drain</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Requests the remote to drain previously granted credit for this <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#queuedDeliveries()" class="member-name-link">queuedDeliveries</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the number of Deliveries that are currently held in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> delivery |
| queue.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#receive()" class="member-name-link">receive</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Blocking receive method that waits forever for the remote to provide a <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> for consumption.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#receive(long,java.util.concurrent.TimeUnit)" class="member-name-link">receive</a><wbr>(long 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> unit)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Blocking receive method that waits the given time interval for the remote to provide a |
| <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> for consumption.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#tryReceive()" class="member-name-link">tryReceive</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Non-blocking receive method that either returns a message is one is immediately available or |
| returns null if none is currently at hand.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.client.Link">Methods inherited from interface org.apache.qpid.protonj2.client.<a href="Link.html" title="interface in org.apache.qpid.protonj2.client">Link</a></h3> |
| <code><a href="Link.html#address()">address</a>, <a href="Link.html#client()">client</a>, <a href="Link.html#close()">close</a>, <a href="Link.html#close(org.apache.qpid.protonj2.client.ErrorCondition)">close</a>, <a href="Link.html#closeAsync()">closeAsync</a>, <a href="Link.html#closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">closeAsync</a>, <a href="Link.html#connection()">connection</a>, <a href="Link.html#desiredCapabilities()">desiredCapabilities</a>, <a href="Link.html#detach()">detach</a>, <a href="Link.html#detach(org.apache.qpid.protonj2.client.ErrorCondition)">detach</a>, <a href="Link.html#detachAsync()">detachAsync</a>, <a href="Link.html#detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">detachAsync</a>, <a href="Link.html#offeredCapabilities()">offeredCapabilities</a>, <a href="Link.html#openFuture()">openFuture</a>, <a href="Link.html#properties()">properties</a>, <a href="Link.html#session()">session</a>, <a href="Link.html#source()">source</a>, <a href="Link.html#target()">target</a></code></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="addCredit(int)"> |
| <h3>addCredit</h3> |
| <div class="member-signature"><span class="return-type"><a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a></span> <span class="element-name">addCredit</span><wbr><span class="parameters">(int credits)</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">Adds credit to the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link for use when the receiver has not been configured |
| with a credit window. When credit window is configured credit replenishment is automatic and |
| calling this method will result in an exception indicating that the operation is invalid. |
| <p> |
| If the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> is draining and this method is called an exception will be thrown |
| to indicate that credit cannot be replenished until the remote has drained the existing link |
| credit.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>credits</code> - The number of credits to add to the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> link.</dd> |
| <dt>Returns:</dt> |
| <dd>this <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</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 attempting to add new <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link credit.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="drain()"> |
| <h3>drain</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><<a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a>></span> <span class="element-name">drain</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">Requests the remote to drain previously granted credit for this <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link.</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 will be completed when the remote drains this <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link.</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 attempting to drain the link credit.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="receive()"> |
| <h3>receive</h3> |
| <div class="member-signature"><span class="return-type"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></span> <span class="element-name">receive</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">Blocking receive method that waits forever for the remote to provide a <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> for consumption. |
| <p> |
| Receive calls will only grant credit on their own if a credit window is configured in the |
| <a href="StreamReceiverOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamReceiverOptions</code></a> which is done by default. If the client application has configured |
| no credit window than this method will not grant any credit when it enters the wait for new |
| incoming messages.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>a new <a href="Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> received from the remote.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> or its parent is closed when the call to receive is made.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="receive(long,java.util.concurrent.TimeUnit)"> |
| <h3>receive</h3> |
| <div class="member-signature"><span class="return-type"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></span> <span class="element-name">receive</span><wbr><span class="parameters">(long 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> 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">Blocking receive method that waits the given time interval for the remote to provide a |
| <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> for consumption. The amount of time this method blocks is based on |
| the timeout value. If the timeout is negative then it blocks until a Delivery is received. If the |
| timeout is equal to zero then it will not block and simply return a <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> |
| if one is available locally. If the timeout value is greater than zero then it blocks up to timeout |
| amount of time. |
| <p> |
| Receive calls will only grant credit on their own if a credit window is configured in the |
| <a href="StreamReceiverOptions.html" title="class in org.apache.qpid.protonj2.client"><code>StreamReceiverOptions</code></a> which is done by default. If the client application has not configured |
| a credit window or granted credit manually this method will not automatically grant any credit |
| when it enters the wait for a new incoming <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a>.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>timeout</code> - The timeout value used to control how long the receive method waits for a new <a href="Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a>.</dd> |
| <dd><code>unit</code> - The unit of time that the given timeout represents.</dd> |
| <dt>Returns:</dt> |
| <dd>a new <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> received from the remote.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> or its parent is closed when the call to receive is made.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="tryReceive()"> |
| <h3>tryReceive</h3> |
| <div class="member-signature"><span class="return-type"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></span> <span class="element-name">tryReceive</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">Non-blocking receive method that either returns a message is one is immediately available or |
| returns null if none is currently at hand.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>a new <a href="StreamReceiverMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiverMessage</code></a> received from the remote or null if no pending deliveries are available.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></code> - if the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> or its parent is closed when the call to try to receive is made.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="queuedDeliveries()"> |
| <h3>queuedDeliveries</h3> |
| <div class="member-signature"><span class="return-type">long</span> <span class="element-name">queuedDeliveries</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">Returns the number of Deliveries that are currently held in the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> delivery |
| queue. This number is likely to change immediately following the call as more deliveries |
| arrive but can be used to determine if any pending <a href="Delivery.html" title="interface in org.apache.qpid.protonj2.client"><code>Delivery</code></a> work is ready.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>the number of deliveries that are currently buffered locally.</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 attempting to fetch the queue count.</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |