blob: ed61397b6198fe36949bb669504b05a87add5f05 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>BackpressureStrategy.CallbackBackpressureStrategy (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)</title>
<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="BackpressureStrategy.CallbackBackpressureStrategy (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BackpressureStrategy.CallbackBackpressureStrategy.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">
<li><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.WaitResult.html" title="enum in org.apache.arrow.flight"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html" target="_top">Frames</a></li>
<li><a href="BackpressureStrategy.CallbackBackpressureStrategy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.arrow.flight</div>
<h2 title="Class BackpressureStrategy.CallbackBackpressureStrategy" class="title">Class BackpressureStrategy.CallbackBackpressureStrategy</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.arrow.flight.BackpressureStrategy.CallbackBackpressureStrategy</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></dd>
</dl>
<dl>
<dt>Enclosing interface:</dt>
<dd><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></dd>
</dl>
<hr>
<br>
<pre>public static class <span class="typeNameLabel">BackpressureStrategy.CallbackBackpressureStrategy</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
implements <a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></pre>
<div class="block">A back pressure strategy that uses callbacks to notify when the client is ready or cancelled.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="nested.classes.inherited.from.class.org.apache.arrow.flight.BackpressureStrategy">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.arrow.flight.<a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></h3>
<code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html" title="class in org.apache.arrow.flight">BackpressureStrategy.CallbackBackpressureStrategy</a>, <a href="../../../../org/apache/arrow/flight/BackpressureStrategy.WaitResult.html" title="enum in org.apache.arrow.flight">BackpressureStrategy.WaitResult</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#CallbackBackpressureStrategy--">CallbackBackpressureStrategy</a></span>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#cancelCallback--">cancelCallback</a></span>()</code>
<div class="block">Callback to execute when the listener is cancelled.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#interruptWait--">interruptWait</a></span>()</code>
<div class="block">Interrupt waiting on the listener to change state.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#readyCallback--">readyCallback</a></span>()</code>
<div class="block">Callback to execute when the listener becomes ready.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#register-org.apache.arrow.flight.FlightProducer.ServerStreamListener-">register</a></span>(<a href="../../../../org/apache/arrow/flight/FlightProducer.ServerStreamListener.html" title="interface in org.apache.arrow.flight">FlightProducer.ServerStreamListener</a>&nbsp;listener)</code>
<div class="block">Set up operations to work against the given listener.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#shouldContinueWaiting-org.apache.arrow.flight.FlightProducer.ServerStreamListener-long-">shouldContinueWaiting</a></span>(<a href="../../../../org/apache/arrow/flight/FlightProducer.ServerStreamListener.html" title="interface in org.apache.arrow.flight">FlightProducer.ServerStreamListener</a>&nbsp;listener,
long&nbsp;remainingTimeout)</code>
<div class="block">Callback function to run to check if the listener should continue
to be waited on if it leaves the waiting state without being cancelled,
ready, or timed out.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.WaitResult.html" title="enum in org.apache.arrow.flight">BackpressureStrategy.WaitResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#waitForListener-long-">waitForListener</a></span>(long&nbsp;timeout)</code>
<div class="block">Waits for the listener to be ready or cancelled up to the given timeout.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a name="CallbackBackpressureStrategy--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>CallbackBackpressureStrategy</h4>
<pre>public&nbsp;CallbackBackpressureStrategy()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="register-org.apache.arrow.flight.FlightProducer.ServerStreamListener-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>register</h4>
<pre>public&nbsp;void&nbsp;register(<a href="../../../../org/apache/arrow/flight/FlightProducer.ServerStreamListener.html" title="interface in org.apache.arrow.flight">FlightProducer.ServerStreamListener</a>&nbsp;listener)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html#register-org.apache.arrow.flight.FlightProducer.ServerStreamListener-">BackpressureStrategy</a></code></span></div>
<div class="block">Set up operations to work against the given listener.
This must be called exactly once and before any calls to <a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html#waitForListener-long-"><code>BackpressureStrategy.waitForListener(long)</code></a> and
<a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#start-org.apache.arrow.vector.VectorSchemaRoot-"><code>OutboundStreamListener.start(VectorSchemaRoot)</code></a></div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html#register-org.apache.arrow.flight.FlightProducer.ServerStreamListener-">register</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - The listener this strategy applies to.</dd>
</dl>
</li>
</ul>
<a name="waitForListener-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>waitForListener</h4>
<pre>public&nbsp;<a href="../../../../org/apache/arrow/flight/BackpressureStrategy.WaitResult.html" title="enum in org.apache.arrow.flight">BackpressureStrategy.WaitResult</a>&nbsp;waitForListener(long&nbsp;timeout)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html#waitForListener-long-">BackpressureStrategy</a></code></span></div>
<div class="block">Waits for the listener to be ready or cancelled up to the given timeout.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html#waitForListener-long-">waitForListener</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight">BackpressureStrategy</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>timeout</code> - The timeout in milliseconds. Infinite if timeout is <= 0.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The result of the wait.</dd>
</dl>
</li>
</ul>
<a name="interruptWait--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>interruptWait</h4>
<pre>public&nbsp;void&nbsp;interruptWait()</pre>
<div class="block">Interrupt waiting on the listener to change state.
This method can be used in conjunction with
<a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#shouldContinueWaiting-org.apache.arrow.flight.FlightProducer.ServerStreamListener-long-"><code>shouldContinueWaiting(FlightProducer.ServerStreamListener, long)</code></a> to allow FlightProducers to
terminate streams internally and notify clients.</div>
</li>
</ul>
<a name="shouldContinueWaiting-org.apache.arrow.flight.FlightProducer.ServerStreamListener-long-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldContinueWaiting</h4>
<pre>protected&nbsp;boolean&nbsp;shouldContinueWaiting(<a href="../../../../org/apache/arrow/flight/FlightProducer.ServerStreamListener.html" title="interface in org.apache.arrow.flight">FlightProducer.ServerStreamListener</a>&nbsp;listener,
long&nbsp;remainingTimeout)</pre>
<div class="block">Callback function to run to check if the listener should continue
to be waited on if it leaves the waiting state without being cancelled,
ready, or timed out.
This method should be used to determine if the wait on the listener was interrupted explicitly using a
call to <a href="../../../../org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html#interruptWait--"><code>interruptWait()</code></a> or if it was woken up due to a spurious wake.</div>
</li>
</ul>
<a name="readyCallback--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>readyCallback</h4>
<pre>protected&nbsp;void&nbsp;readyCallback()</pre>
<div class="block">Callback to execute when the listener becomes ready.</div>
</li>
</ul>
<a name="cancelCallback--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>cancelCallback</h4>
<pre>protected&nbsp;void&nbsp;cancelCallback()</pre>
<div class="block">Callback to execute when the listener is cancelled.</div>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/BackpressureStrategy.CallbackBackpressureStrategy.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">
<li><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.html" title="interface in org.apache.arrow.flight"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/flight/BackpressureStrategy.WaitResult.html" title="enum in org.apache.arrow.flight"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/flight/BackpressureStrategy.CallbackBackpressureStrategy.html" target="_top">Frames</a></li>
<li><a href="BackpressureStrategy.CallbackBackpressureStrategy.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.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>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&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><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>