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.FilterInputStream
java.io.IOException
public int read(byte[] buf) throws java.io.IOException
read
in class java.io.FilterInputStream
java.io.IOException
public int read(byte[] buf, int off, int cnt) throws java.io.IOException
read
in class java.io.FilterInputStream
java.io.IOException
public long skip(long cnt) throws java.io.IOException
skip
in class java.io.FilterInputStream
java.io.IOException
private void beginRead()
private void endRead()
private java.io.InterruptedIOException readTimedOut()