Package org.eclipse.jgit.util.io
Class TimeoutOutputStream
java.lang.Object
java.io.OutputStream
org.eclipse.jgit.util.io.TimeoutOutputStream
- All Implemented Interfaces:
Closeable,Flushable,AutoCloseable
OutputStream with a configurable timeout.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final OutputStreamprivate final InterruptTimerprivate int -
Constructor Summary
ConstructorsConstructorDescriptionTimeoutOutputStream(OutputStream destination, InterruptTimer timer) Wrap an output stream with a timeout on all write operations. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidvoidclose()private voidendWrite()voidflush()intGet number of milliseconds before aborting a write.voidsetTimeout(int millis) Set number of milliseconds before aborting a write.voidwrite(byte[] buf) voidwrite(byte[] buf, int off, int len) voidwrite(int b) private InterruptedIOExceptionMethods inherited from class java.io.OutputStream
nullOutputStream
-
Field Details
-
dst
-
myTimer
-
timeout
private int timeout
-
-
Constructor Details
-
TimeoutOutputStream
Wrap an output stream with a timeout on all write operations.- Parameters:
destination- base input stream (to write to). The stream must be interruptible (most socket streams are).timer- timer to manage the timeouts during writes.
-
-
Method Details
-
getTimeout
public int getTimeout()Get number of milliseconds before aborting a write.- Returns:
- number of milliseconds before aborting a write.
-
setTimeout
public void setTimeout(int millis) Set number of milliseconds before aborting a write.- Parameters:
millis- number of milliseconds before aborting a write. Must be > 0.
-
write
- Specified by:
writein classOutputStream- Throws:
IOException
-
write
- Overrides:
writein classOutputStream- Throws:
IOException
-
write
- Overrides:
writein classOutputStream- Throws:
IOException
-
flush
- Specified by:
flushin interfaceFlushable- Overrides:
flushin classOutputStream- Throws:
IOException
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classOutputStream- Throws:
IOException
-
beginWrite
private void beginWrite() -
endWrite
private void endWrite() -
writeTimedOut
-