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
Constructor and Description
`TimeoutOutputStream(OutputStream destination, InterruptTimer timer)` Wrap an output stream with a timeout on all write operations.

### Method Summary

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