blob: 974a46ebb3bdf188e139bf0f773ddffd21d6e608 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (14.0.1) on Tue Jun 15 20:48:08 PDT 2021 -->
<title>PollingInputStream (Eclipse Communication Framework (ECF) 3.14.22 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="dc.created" content="2021-06-15">
<meta name="description" content="declaration: package: org.eclipse.ecf.provider.filetransfer.util, class: PollingInputStream">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../script-dir/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.4.1.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.js"></script>
</head>
<body class="class-declaration">
<script type="text/javascript">var data = {"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";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flexBox">
<header role="banner" class="flexHeader">
<nav role="navigation">
<!-- ========= 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/PollingInputStream.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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>
<div class="navListSearch"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="skipNav"><a id="skip.navbar.top">
<!-- -->
</a></div>
</nav>
</header>
<div class="flexContent">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.eclipse.ecf.provider.filetransfer.util</a></div>
<h1 title="Class PollingInputStream" class="title">Class PollingInputStream</h1>
</div>
<div class="contentContainer">
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">java.io.InputStream</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">java.io.FilterInputStream</a>
<div class="inheritance">org.eclipse.ecf.provider.filetransfer.util.PollingInputStream</div>
</div>
</div>
</div>
<section class="description">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink">Closeable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">PollingInputStream</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></pre>
<div class="block">Polls a progress monitor periodically and handles timeouts over extended
durations. For this class to be effective, a high numAttempts should be
specified, and the underlying stream should time out frequently on reads
(every second or so).
Supports resuming partially completed operations after an
InterruptedIOException if the underlying stream does. Check the
bytesTransferred field to determine how much of the operation completed;
conversely, at what point to resume.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.0</dd>
</dl>
</section>
<section class="summary">
<ul class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<li class="blockList">
<section class="fieldSummary"><a id="field.summary">
<!-- -->
</a>
<h2>Field Summary</h2>
<div class="inheritedList">
<h3>Fields inherited from class&nbsp;java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></h3>
<a id="fields.inherited.from.class.java.io.FilterInputStream">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#in" title="class or interface in java.io" class="externalLink">in</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li class="blockList">
<section class="constructorSummary"><a id="constructor.summary">
<!-- -->
</a>
<h2>Constructor Summary</h2>
<div class="memberSummary">
<table>
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<thead>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.InputStream,int,org.eclipse.core.runtime.IProgressMonitor)">PollingInputStream</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">InputStream</a>&nbsp;in,
int&nbsp;numAttempts,
org.eclipse.core.runtime.IProgressMonitor&nbsp;monitor)</code></th>
<td class="colLast">
<div class="block">Creates a new polling input stream.</div>
</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(java.io.InputStream,int,org.eclipse.core.runtime.IProgressMonitor,java.lang.String,java.lang.String)">PollingInputStream</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">InputStream</a>&nbsp;in,
int&nbsp;numAttempts,
org.eclipse.core.runtime.IProgressMonitor&nbsp;monitor,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;readTimeoutMessage,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;closeTimeoutMessage)</code></th>
<td class="colLast">
<div class="block">Creates a new polling input stream.</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li class="blockList">
<section class="methodSummary"><a id="method.summary">
<!-- -->
</a>
<h2>Method Summary</h2>
<div class="memberSummary">
<div role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="memberSummary_tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="activeTableTab">All Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="tableTab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="memberSummary_tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="tableTab" onclick="show(8);">Concrete Methods</button></div>
<div id="memberSummary_tabpanel" role="tabpanel">
<table aria-labelledby="t0">
<thead>
<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>
</thead>
<tbody>
<tr class="altColor" id="i0">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#close()">close</a></span>()</code></th>
<td class="colLast">
<div class="block">Wraps the underlying stream's method.</div>
</td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#read()">read</a></span>()</code></th>
<td class="colLast">
<div class="block">Wraps the underlying stream's method.</div>
</td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#read(byte%5B%5D,int,int)">read</a></span>&#8203;(byte[]&nbsp;buffer,
int&nbsp;off,
int&nbsp;len)</code></th>
<td class="colLast">
<div class="block">Wraps the underlying stream's method.</div>
</td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#readPendingInput()">readPendingInput</a></span>()</code></th>
<td class="colLast">
<div class="block">Reads any pending input from the input stream so that the stream can
savely be closed.</div>
</td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setIsCancellable(boolean)">setIsCancellable</a></span>&#8203;(boolean&nbsp;cancellable)</code></th>
<td class="colLast">
<div class="block">Called to set whether cancellation will be checked by this stream.</div>
</td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#skip(long)">skip</a></span>&#8203;(long&nbsp;count)</code></th>
<td class="colLast">
<div class="block">Wraps the underlying stream's method.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></h3>
<a id="methods.inherited.from.class.java.io.FilterInputStream">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#available()" title="class or interface in java.io" class="externalLink">available</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#mark(int)" title="class or interface in java.io" class="externalLink">mark</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#markSupported()" title="class or interface in java.io" class="externalLink">markSupported</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#read(byte%5B%5D)" title="class or interface in java.io" class="externalLink">read</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#reset()" title="class or interface in java.io" class="externalLink">reset</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.io.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">InputStream</a></h3>
<a id="methods.inherited.from.class.java.io.InputStream">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#nullInputStream()" title="class or interface in java.io" class="externalLink">nullInputStream</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#readAllBytes()" title="class or interface in java.io" class="externalLink">readAllBytes</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#readNBytes(byte%5B%5D,int,int)" title="class or interface in java.io" class="externalLink">readNBytes</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#readNBytes(int)" title="class or interface in java.io" class="externalLink">readNBytes</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#skipNBytes(long)" title="class or interface in java.io" class="externalLink">skipNBytes</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true#transferTo(java.io.OutputStream)" title="class or interface in java.io" class="externalLink">transferTo</a></code></div>
<div class="inheritedList">
<h3>Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li class="blockList">
<section class="constructorDetails"><a id="constructor.detail">
<!-- -->
</a>
<h2>Constructor Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.io.InputStream,int,org.eclipse.core.runtime.IProgressMonitor)">PollingInputStream</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">PollingInputStream</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">InputStream</a>&nbsp;in,
int&nbsp;numAttempts,
org.eclipse.core.runtime.IProgressMonitor&nbsp;monitor)</span></div>
<div class="block">Creates a new polling input stream.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - the underlying input stream</dd>
<dd><code>numAttempts</code> - the number of attempts before issuing an
InterruptedIOException, if 0, retries indefinitely until
canceled</dd>
<dd><code>monitor</code> - the progress monitor to be polled for cancellation</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="&lt;init&gt;(java.io.InputStream,int,org.eclipse.core.runtime.IProgressMonitor,java.lang.String,java.lang.String)">PollingInputStream</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="memberName">PollingInputStream</span>&#8203;(<span class="arguments"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">InputStream</a>&nbsp;in,
int&nbsp;numAttempts,
org.eclipse.core.runtime.IProgressMonitor&nbsp;monitor,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;readTimeoutMessage,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;closeTimeoutMessage)</span></div>
<div class="block">Creates a new polling input stream.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>in</code> - the underlying input stream</dd>
<dd><code>numAttempts</code> - the number of attempts before issuing an
InterruptedIOException, if 0, retries indefinitely until
canceled</dd>
<dd><code>monitor</code> - the progress monitor to be polled for cancellation</dd>
<dd><code>readTimeoutMessage</code> - message to go with InteruptedIOException if read timeout</dd>
<dd><code>closeTimeoutMessage</code> - message to go with InteruptedIOException if close timeout</dd>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>3.1</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li class="blockList">
<section class="methodDetails"><a id="method.detail">
<!-- -->
</a>
<h2>Method Details</h2>
<ul class="blockList">
<li class="blockList">
<section class="detail">
<h3><a id="close()">close</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">close</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io" class="externalLink">InterruptedIOException</a></span></div>
<div class="block">Wraps the underlying stream's method. It may be important to wait for an
input stream to be closed because it holds an implicit lock on a system
resource (such as a file) while it is open. Closing a stream may take
time if the underlying stream is still servicing a previous request.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true#close()" title="class or interface in java.lang" class="externalLink">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/AutoCloseable.html?is-external=true" title="class or interface in java.lang" class="externalLink">AutoCloseable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true#close()" title="class or interface in java.io" class="externalLink">close</a></code>&nbsp;in interface&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Closeable.html?is-external=true" title="class or interface in java.io" class="externalLink">Closeable</a></code></dd>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#close()" title="class or interface in java.io" class="externalLink">close</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.eclipse.core.runtime.OperationCanceledException</code> - if the progress monitor is canceled</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io" class="externalLink">InterruptedIOException</a></code> - if the underlying operation times out numAttempts times</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="read()">read</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">read</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Wraps the underlying stream's method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#read()" title="class or interface in java.io" class="externalLink">read</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the next byte of data, or -1 if the end of the stream is reached.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.eclipse.core.runtime.OperationCanceledException</code> - if the progress monitor is canceled</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io" class="externalLink">InterruptedIOException</a></code> - if the underlying operation times out numAttempts times and
no data was received, bytesTransferred will be zero</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if an i/o error occurs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="read(byte[],int,int)">read</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">int</span>&nbsp;<span class="memberName">read</span>&#8203;(<span class="arguments">byte[]&nbsp;buffer,
int&nbsp;off,
int&nbsp;len)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Wraps the underlying stream's method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#read(byte%5B%5D,int,int)" title="class or interface in java.io" class="externalLink">read</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - - the buffer into which the data is read.</dd>
<dd><code>off</code> - - the start offset of the data.</dd>
<dd><code>len</code> - - the maximum number of bytes read.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total number of bytes read into the buffer, or -1 if there is
no more data because the end of the stream has been reached.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.eclipse.core.runtime.OperationCanceledException</code> - if the progress monitor is canceled</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io" class="externalLink">InterruptedIOException</a></code> - if the underlying operation times out numAttempts times and
no data was received, bytesTransferred will be zero</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if an i/o error occurs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="skip(long)">skip</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">long</span>&nbsp;<span class="memberName">skip</span>&#8203;(<span class="arguments">long&nbsp;count)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Wraps the underlying stream's method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true#skip(long)" title="class or interface in java.io" class="externalLink">skip</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/FilterInputStream.html?is-external=true" title="class or interface in java.io" class="externalLink">FilterInputStream</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>count</code> - - the number of bytes to be skipped.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the actual number of bytes skipped.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>org.eclipse.core.runtime.OperationCanceledException</code> - if the progress monitor is canceled</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/InterruptedIOException.html?is-external=true" title="class or interface in java.io" class="externalLink">InterruptedIOException</a></code> - if the underlying operation times out numAttempts times and
no data was received, bytesTransferred will be zero</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if an i/o error occurs</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="readPendingInput()">readPendingInput</a></h3>
<div class="memberSignature"><span class="modifiers">protected</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">readPendingInput</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></span></div>
<div class="block">Reads any pending input from the input stream so that the stream can
savely be closed.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink">IOException</a></code> - if some problem reading</dd>
</dl>
</section>
</li>
<li class="blockList">
<section class="detail">
<h3><a id="setIsCancellable(boolean)">setIsCancellable</a></h3>
<div class="memberSignature"><span class="modifiers">public</span>&nbsp;<span class="returnType">void</span>&nbsp;<span class="memberName">setIsCancellable</span>&#8203;(<span class="arguments">boolean&nbsp;cancellable)</span></div>
<div class="block">Called to set whether cancellation will be checked by this stream.
Turning cancellation checking off can be very useful for protecting
critical portions of a protocol that shouldn't be interrupted. For
example, it is often necessary to protect login sequences.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>cancellable</code> - a flag controlling whether this stream will check for
cancellation.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</div>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<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/PollingInputStream.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2020 <a href="https://www.eclipse.org/">Eclipse Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>