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

  Modifier and Type
  Method
  Description
  `int`
  `doWrite(ByteBuffer chunk)`
  Write the given data to the response.
  `int`
  `doWrite(ByteChunk chunk)`
  Deprecated.
  Unused.
  `long`
  `getBytesWritten()`
  Bytes written to the underlying socket.

- ## Method Details

  - ### doWrite

    @Deprecated int doWrite(ByteChunk chunk) throws IOException
    Deprecated.
    Unused. Will be removed in Tomcat 9. Use `doWrite(ByteBuffer)`
    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

  - ### 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