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.OutputStreamjava.io.IOExceptionpublic void write(byte[] buf)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void write(byte[] buf,
int off,
int len)
throws java.io.IOException
write in class java.io.OutputStreamjava.io.IOExceptionpublic void flush()
throws java.io.IOException
flush in interface java.io.Flushableflush in class java.io.OutputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.OutputStreamjava.io.IOExceptionprivate void beginWrite()
private void endWrite()
private java.io.InterruptedIOException writeTimedOut()