blob: 530c79bc27b3cb622635d169a7cc5a7510849705 [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 -->
<title>AsyncKuduScanner</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="AsyncKuduScanner";
}
}
catch(err) {
}
//-->
var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":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="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/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.html" target="_top">Frames</a></li>
<li><a href="AsyncKuduScanner.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><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.kudu.client</div>
<h2 title="Class AsyncKuduScanner" class="title">Class AsyncKuduScanner</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.kudu.client.AsyncKuduScanner</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>@InterfaceAudience.Public
@InterfaceStability.Unstable
public final class <span class="typeNameLabel">AsyncKuduScanner</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></pre>
<div class="block">Creates a scanner to read data from Kudu.
<p>
This class is <strong>not synchronized</strong> as it's expected to be
used from a single thread at a time. It's rarely (if ever?) useful to
scan concurrently from a shared scanner using multiple threads. If you
want to optimize large table scans using extra parallelism, create a few
scanners through the <a href="../../../../org/apache/kudu/client/KuduScanToken.html" title="class in org.apache.kudu.client"><code>KuduScanToken</code></a> API. Or use MapReduce.
<p>
There's no method in this class to explicitly open the scanner. It will open
itself automatically when you start scanning by calling <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#nextRows--"><code>nextRows()</code></a>.
Also, the scanner will automatically call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> when it reaches the
end key. If, however, you would like to stop scanning <i>before reaching the
end key</i>, you <b>must</b> call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> before disposing of the scanner.
Note that it's always safe to call <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--"><code>close()</code></a> on a scanner.
<p>
A <code>AsyncKuduScanner</code> is not re-usable. Should you want to scan the same rows
or the same table again, you must create a new one.
<h1>A note on passing <code>byte</code> arrays in argument</h1>
None of the method that receive a <code>byte[]</code> in argument will copy it.
For more info, please refer to the documentation of <code>KuduRpc</code>.
<h1>A note on passing <code>String</code>s in argument</h1>
All strings are assumed to use the platform's default charset.</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>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Class and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client">AsyncKuduScanner.AsyncKuduScannerBuilder</a></span></code>
<div class="block">A Builder class to build <a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html" title="class in org.apache.kudu.client"><code>AsyncKuduScanner</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></span></code>
<div class="block">The possible read modes for scanners.</div>
</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>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#close--">close</a></span>()</code>
<div class="block">Closes this scanner (don't forget to call this when you're done with it!).</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getBatchSizeBytes--">getBatchSizeBytes</a></span>()</code>
<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getCacheBlocks--">getCacheBlocks</a></span>()</code>
<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getKeepAlivePeriodMs--">getKeepAlivePeriodMs</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getLimit--">getLimit</a></span>()</code>
<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getProjectionSchema--">getProjectionSchema</a></span>()</code>
<div class="block">Returns the projection schema of this scanner.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getReadMode--">getReadMode</a></span>()</code>
<div class="block">Returns the ReadMode for this scanner.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getResourceMetrics--">getResourceMetrics</a></span>()</code>
<div class="block">Returns the <code>ResourceMetrics</code> for this scanner.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#getScanRequestTimeout--">getScanRequestTimeout</a></span>()</code>
<div class="block">Returns the scan request timeout for this scanner.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#hasMoreRows--">hasMoreRows</a></span>()</code>
<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#isClosed--">isClosed</a></span>()</code>&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#keepAlive--">keepAlive</a></span>()</code>
<div class="block">Keep the current remote scanner alive.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#nextRows--">nextRows</a></span>()</code>
<div class="block">Scans a number of rows.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#setReuseRowResult-boolean-">setReuseRowResult</a></span>(boolean&nbsp;reuseRowResult)</code>
<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
will be reused with each call to <a href="../../../../org/apache/kudu/client/RowResultIterator.html#next--"><code>RowResultIterator.next()</code></a>.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.html#toString--">toString</a></span>()</code>&nbsp;</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#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">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getLimit--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLimit</h4>
<pre>public&nbsp;long&nbsp;getLimit()</pre>
<div class="block">Returns the maximum number of rows that this scanner was configured to return.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a long representing the maximum number of rows that can be returned</dd>
</dl>
</li>
</ul>
<a name="hasMoreRows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>hasMoreRows</h4>
<pre>public&nbsp;boolean&nbsp;hasMoreRows()</pre>
<div class="block">Tells if the last rpc returned that there might be more rows to scan.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if there might be more data to scan, else false</dd>
</dl>
</li>
</ul>
<a name="getCacheBlocks--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getCacheBlocks</h4>
<pre>public&nbsp;boolean&nbsp;getCacheBlocks()</pre>
<div class="block">Returns if this scanner was configured to cache data blocks or not.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if this scanner will cache blocks, else else.</dd>
</dl>
</li>
</ul>
<a name="getBatchSizeBytes--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBatchSizeBytes</h4>
<pre>public&nbsp;long&nbsp;getBatchSizeBytes()</pre>
<div class="block">Returns the maximum number of bytes returned by the scanner, on each batch.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a long representing the maximum number of bytes that a scanner can receive at once
from a tablet server</dd>
</dl>
</li>
</ul>
<a name="getReadMode--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getReadMode</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/AsyncKuduScanner.ReadMode.html" title="enum in org.apache.kudu.client">AsyncKuduScanner.ReadMode</a>&nbsp;getReadMode()</pre>
<div class="block">Returns the ReadMode for this scanner.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the configured read mode for this scanner</dd>
</dl>
</li>
</ul>
<a name="getScanRequestTimeout--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getScanRequestTimeout</h4>
<pre>public&nbsp;long&nbsp;getScanRequestTimeout()</pre>
<div class="block">Returns the scan request timeout for this scanner.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the scan request timeout, in milliseconds</dd>
</dl>
</li>
</ul>
<a name="getProjectionSchema--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getProjectionSchema</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/Schema.html" title="class in org.apache.kudu">Schema</a>&nbsp;getProjectionSchema()</pre>
<div class="block">Returns the projection schema of this scanner. If specific columns were
not specified during scanner creation, the table schema is returned.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the projection schema for this scanner</dd>
</dl>
</li>
</ul>
<a name="getKeepAlivePeriodMs--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getKeepAlivePeriodMs</h4>
<pre>public&nbsp;long&nbsp;getKeepAlivePeriodMs()</pre>
</li>
</ul>
<a name="getResourceMetrics--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getResourceMetrics</h4>
<pre>public&nbsp;<a href="../../../../org/apache/kudu/client/ResourceMetrics.html" title="class in org.apache.kudu.client">ResourceMetrics</a>&nbsp;getResourceMetrics()</pre>
<div class="block">Returns the <code>ResourceMetrics</code> for this scanner. These metrics are
updated with each batch of rows returned from the server.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the resource metrics for this scanner</dd>
</dl>
</li>
</ul>
<a name="setReuseRowResult-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setReuseRowResult</h4>
<pre>public&nbsp;void&nbsp;setReuseRowResult(boolean&nbsp;reuseRowResult)</pre>
<div class="block">If set to true, the <a href="../../../../org/apache/kudu/client/RowResult.html" title="class in org.apache.kudu.client"><code>RowResult</code></a> object returned by the <a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client"><code>RowResultIterator</code></a>
will be reused with each call to <a href="../../../../org/apache/kudu/client/RowResultIterator.html#next--"><code>RowResultIterator.next()</code></a>.
This can be a useful optimization to reduce the number of objects created.
Note: DO NOT use this if the RowResult is stored between calls to next().
Enabling this optimization means that a call to next() mutates the previously returned
RowResult. Accessing the previously returned RowResult after a call to next(), by storing all
RowResults in a collection and accessing them later for example, will lead to all of the
stored RowResults being mutated as per the data in the last RowResult returned.</div>
</li>
</ul>
<a name="nextRows--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>nextRows</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;&nbsp;nextRows()</pre>
<div class="block">Scans a number of rows.
<p>
Once this method returns <code>null</code> once (which indicates that this
<code>Scanner</code> is done scanning), calling it again leads to an undefined
behavior.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a deferred list of rows.</dd>
</dl>
</li>
</ul>
<a name="isClosed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isClosed</h4>
<pre>public&nbsp;boolean&nbsp;isClosed()</pre>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the scanner has been closed.</dd>
</dl>
</li>
</ul>
<a name="close--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>close</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="../../../../org/apache/kudu/client/RowResultIterator.html" title="class in org.apache.kudu.client">RowResultIterator</a>&gt;&nbsp;close()</pre>
<div class="block">Closes this scanner (don't forget to call this when you're done with it!).
<p>
Closing a scanner already closed has no effect. The deferred returned
will be called back immediately.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A deferred object that indicates the completion of the request.
The <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang"><code>Object</code></a> can be null, a RowResultIterator if there was data left
in the scanner, or an Exception.</dd>
</dl>
</li>
</ul>
<a name="toString--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
<pre>public&nbsp;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code>&nbsp;in class&nbsp;<code><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></code></dd>
</dl>
</li>
</ul>
<a name="keepAlive--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>keepAlive</h4>
<pre>public&nbsp;com.stumbleupon.async.Deferred&lt;<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Void.html?is-external=true" title="class or interface in java.lang">Void</a>&gt;&nbsp;keepAlive()</pre>
<div class="block">Keep the current remote scanner alive.
<p>
Keep the current remote scanner alive on the Tablet server for an
additional time-to-live. This is useful if the interval in between
nextRows() calls is big enough that the remote scanner might be garbage
collected. The scanner time-to-live can be configured on the tablet
server via the --scanner_ttl_ms configuration flag and has a default
of 60 seconds.
<p>
This does not invalidate any previously fetched results.
<p>
Note that an error returned by this method should not be taken as indication
that the scan has failed. Subsequent calls to nextRows() might still be successful,
particularly if the scanner is configured to be fault tolerant.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A deferred object that indicates the completion of the request.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/IllegalStateException.html?is-external=true" title="class or interface in java.lang">IllegalStateException</a></code> - if the scanner is already closed.</dd>
</dl>
</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="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/kudu/client/AsyncKuduClient.AsyncKuduClientBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/kudu/client/AsyncKuduScanner.AsyncKuduScannerBuilder.html" title="class in org.apache.kudu.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/kudu/client/AsyncKuduScanner.html" target="_top">Frames</a></li>
<li><a href="AsyncKuduScanner.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><a href="#nested.class.summary">Nested</a>&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 name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>