org.eclipse.jgit.util.io
Class TimeoutOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.eclipse.jgit.util.io.TimeoutOutputStream
All Implemented Interfaces:
Closeable, Flushable

public class TimeoutOutputStream
extends OutputStream

OutputStream with a configurable timeout.


Constructor Summary
TimeoutOutputStream(OutputStream destination, InterruptTimer timer)
          Wrap an output stream with a timeout on all write operations.
 
Method Summary
 void close()
           
 void flush()
           
 int getTimeout()
           
 void setTimeout(int millis)
           
 void write(byte[] buf)
           
 void write(byte[] buf, int off, int len)
           
 void write(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeoutOutputStream

public TimeoutOutputStream(OutputStream destination,
                           InterruptTimer timer)
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 Detail

getTimeout

public int getTimeout()
Returns:
number of milliseconds before aborting a write.

setTimeout

public void setTimeout(int millis)
Parameters:
millis - number of milliseconds before aborting a write. Must be > 0.

write

public void write(int b)
           throws IOException
Specified by:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] buf)
           throws IOException
Overrides:
write in class OutputStream
Throws:
IOException

write

public void write(byte[] buf,
                  int off,
                  int len)
           throws IOException
Overrides:
write in class OutputStream
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Overrides:
flush in class OutputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class OutputStream
Throws:
IOException


Copyright © 2012. All Rights Reserved.