Package org.apache.coyote

## Interface OutputBuffer

All Known Subinterfaces:
  `HttpOutputBuffer`, `OutputFilter`

All Known Implementing Classes:
  `AjpProcessor.SocketOutputBuffer`, `ChunkedOutputFilter`, `GzipOutputFilter`, `Http11OutputBuffer`, `Http11OutputBuffer.SocketOutputBuffer`, `Http2OutputBuffer`, `IdentityOutputFilter`, `VoidOutputFilter`

    public interface OutputBuffer

Output buffer. This class is used internally by the protocol implementation. All writes from higher level code should happen via Response.doWrite().

Author:
  Remy Maucherat

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `doWrite​(ByteBuffer chunk)` Write the given data to the response.
`long` `getBytesWritten()` Bytes written to the underlying socket.

### Method Detail

#### doWrite

    int doWrite​(ByteBuffer chunk)
         throws IOException

Write the given data to the response. The caller owns the chunks.

Parameters:
  `chunk` - data to write
Returns:
  The number of bytes written which may be less than available in the input chunk
Throws:
  `IOException` - an underlying I/O error occurred

#### getBytesWritten

    long getBytesWritten()

Bytes written to the underlying socket. This includes the effects of chunking, compression, etc.

Returns:
  Bytes written for the current request