public class TimeoutOutputStream
extends java.io.OutputStream
Modifier and Type | Field and Description |
---|---|
private java.io.OutputStream |
dst |
private InterruptTimer |
myTimer |
private int |
timeout |
Constructor and Description |
---|
TimeoutOutputStream(java.io.OutputStream destination,
InterruptTimer timer)
Wrap an output stream with a timeout on all write operations.
|
Modifier and Type | Method and Description |
---|---|
private void |
beginWrite() |
void |
close() |
private void |
endWrite() |
void |
flush() |
int |
getTimeout()
Get number of milliseconds before aborting a write.
|
void |
setTimeout(int millis)
Set number of milliseconds before aborting a write.
|
void |
write(byte[] buf) |
void |
write(byte[] buf,
int off,
int len) |
void |
write(int b) |
private java.io.InterruptedIOException |
writeTimedOut() |
private final java.io.OutputStream dst
private final InterruptTimer myTimer
private int timeout
public TimeoutOutputStream(java.io.OutputStream destination, InterruptTimer timer)
destination
- base input stream (to write to). The stream must be
interruptible (most socket streams are).timer
- timer to manage the timeouts during writes.public int getTimeout()
public void setTimeout(int millis)
millis
- number of milliseconds before aborting a write. Must be >
0.public void write(int b) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] buf) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void write(byte[] buf, int off, int len) throws java.io.IOException
write
in class java.io.OutputStream
java.io.IOException
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in class java.io.OutputStream
java.io.IOException
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in class java.io.OutputStream
java.io.IOException
private void beginWrite()
private void endWrite()
private java.io.InterruptedIOException writeTimedOut()