public class TimeoutInputStream
extends java.io.FilterInputStream
| Modifier and Type | Field and Description |
|---|---|
private InterruptTimer |
myTimer |
private int |
timeout |
| Constructor and Description |
|---|
TimeoutInputStream(java.io.InputStream src,
InterruptTimer timer)
Wrap an input stream with a timeout on all read operations.
|
| Modifier and Type | Method and Description |
|---|---|
private void |
beginRead() |
private void |
endRead() |
int |
getTimeout()
Get number of milliseconds before aborting a read.
|
int |
read() |
int |
read(byte[] buf) |
int |
read(byte[] buf,
int off,
int cnt) |
private java.io.InterruptedIOException |
readTimedOut() |
void |
setTimeout(int millis)
Set number of milliseconds before aborting a read.
|
long |
skip(long cnt) |
private final InterruptTimer myTimer
private int timeout
public TimeoutInputStream(java.io.InputStream src,
InterruptTimer timer)
src - base input stream (to read from). The stream must be
interruptible (most socket streams are).timer - timer to manage the timeouts during reads.public int getTimeout()
public void setTimeout(int millis)
millis - number of milliseconds before aborting a read. Must be > 0.public int read()
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic int read(byte[] buf)
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic int read(byte[] buf,
int off,
int cnt)
throws java.io.IOException
read in class java.io.FilterInputStreamjava.io.IOExceptionpublic long skip(long cnt)
throws java.io.IOException
skip in class java.io.FilterInputStreamjava.io.IOExceptionprivate void beginRead()
private void endRead()
private java.io.InterruptedIOException readTimedOut()