blob: a842560e71e823d4e1901dd1b21eb0c19b8beb6a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.11) on Wed May 12 10:10:59 EDT 2021 -->
<title>StreamReceiver (Qpid ProtonJ2 Parent 1.0.0-M1 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2021-05-12">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="StreamReceiver (Qpid ProtonJ2 Parent 1.0.0-M1 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":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";
var pathtoroot = "../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</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/StreamReceiver.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="../../../../../index-all.html">Index</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>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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</a></div>
<h2 title="Interface StreamReceiver" class="title">Interface StreamReceiver</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><code>java.lang.AutoCloseable</code>, <code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></code></dd>
</dl>
<dl>
<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>
<pre>public interface <span class="typeNameLabel">StreamReceiver</span>
extends <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></pre>
<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>
</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><a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addCredit(int)">addCredit</a></span>&#8203;(int&nbsp;credits)</code></th>
<td class="colLast">
<div class="block">Adds credit to the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> link for use when there receiver has not been configured
with a credit window.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#receive()">receive</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#receive(long,java.util.concurrent.TimeUnit)">receive</a></span>&#8203;(long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;unit)</code></th>
<td class="colLast">
<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>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#tryReceive()">tryReceive</a></span>()</code></th>
<td class="colLast">
<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>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.client.Receiver">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.client.<a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></h3>
<code><a href="Receiver.html#address()">address</a>, <a href="Receiver.html#client()">client</a>, <a href="Receiver.html#close()">close</a>, <a href="Receiver.html#close(org.apache.qpid.protonj2.client.ErrorCondition)">close</a>, <a href="Receiver.html#closeAsync()">closeAsync</a>, <a href="Receiver.html#closeAsync(org.apache.qpid.protonj2.client.ErrorCondition)">closeAsync</a>, <a href="Receiver.html#connection()">connection</a>, <a href="Receiver.html#desiredCapabilities()">desiredCapabilities</a>, <a href="Receiver.html#detach()">detach</a>, <a href="Receiver.html#detach(org.apache.qpid.protonj2.client.ErrorCondition)">detach</a>, <a href="Receiver.html#detachAsync()">detachAsync</a>, <a href="Receiver.html#detachAsync(org.apache.qpid.protonj2.client.ErrorCondition)">detachAsync</a>, <a href="Receiver.html#drain()">drain</a>, <a href="Receiver.html#offeredCapabilities()">offeredCapabilities</a>, <a href="Receiver.html#openFuture()">openFuture</a>, <a href="Receiver.html#properties()">properties</a>, <a href="Receiver.html#queuedDeliveries()">queuedDeliveries</a>, <a href="Receiver.html#session()">session</a>, <a href="Receiver.html#source()">source</a>, <a href="Receiver.html#target()">target</a></code></li>
</ul>
</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="receive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receive</h4>
<pre class="methodSignature"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a>&nbsp;receive()
throws <a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Receiver.html#receive()">receive</a></code>&nbsp;in interface&nbsp;<code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></code></dd>
<dt><span class="returnLabel">Returns:</span></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><span class="throwsLabel">Throws:</span></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>
</li>
</ul>
<a id="receive(long,java.util.concurrent.TimeUnit)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>receive</h4>
<pre class="methodSignature"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a>&nbsp;receive&#8203;(long&nbsp;timeout,
java.util.concurrent.TimeUnit&nbsp;unit)
throws <a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<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 timeout is equal to <code>-1</code> then it blocks until a Delivery is
received. If 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 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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Receiver.html#receive(long,java.util.concurrent.TimeUnit)">receive</a></code>&nbsp;in interface&nbsp;<code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></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><span class="returnLabel">Returns:</span></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><span class="throwsLabel">Throws:</span></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>
</li>
</ul>
<a id="tryReceive()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>tryReceive</h4>
<pre class="methodSignature"><a href="StreamDelivery.html" title="interface in org.apache.qpid.protonj2.client">StreamDelivery</a>&nbsp;tryReceive()
throws <a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Receiver.html#tryReceive()">tryReceive</a></code>&nbsp;in interface&nbsp;<code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></code></dd>
<dt><span class="returnLabel">Returns:</span></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><span class="throwsLabel">Throws:</span></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>
</li>
</ul>
<a id="addCredit(int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>addCredit</h4>
<pre class="methodSignature"><a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client">StreamReceiver</a>&nbsp;addCredit&#8203;(int&nbsp;credits)
throws <a href="exceptions/ClientException.html" title="class in org.apache.qpid.protonj2.client.exceptions">ClientException</a></pre>
<div class="block">Adds credit to the <a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client"><code>Receiver</code></a> link for use when there 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>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="Receiver.html#addCredit(int)">addCredit</a></code>&nbsp;in interface&nbsp;<code><a href="Receiver.html" title="interface in org.apache.qpid.protonj2.client">Receiver</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>credits</code> - credit The number of credits to add to the <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> link.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>this <a href="StreamReceiver.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamReceiver</code></a> instance.</dd>
<dt><span class="throwsLabel">Throws:</span></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>
</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/StreamReceiver.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="../../../../../index-all.html">Index</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; 2021 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>