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`

    public class TimeoutOutputStream
    extends OutputStream

OutputStream with a configurable timeout.

### Constructor Summary

Constructors
`TimeoutOutputStream​(OutputStream destination, InterruptTimer timer)` Wrap an output stream with a timeout on all write operations.

### Method Summary

All Methods Instance Methods Concrete Methods
`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.io.OutputStream

`nullOutputStream`

### 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 `AutoCloseable`
Specified by:
  `close` in interface `Closeable`
Overrides:
  `close` in class `OutputStream`
Throws:
  `IOException`