Package org.apache.coyote.http2

## Class Http2OutputBuffer

- java.lang.Object
- - org.apache.coyote.http2.Http2OutputBuffer

- All Implemented Interfaces:
    `HttpOutputBuffer`, `OutputBuffer`

      public class Http2OutputBuffer
      extends java.lang.Object
      implements HttpOutputBuffer

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Http2OutputBuffer​(Response coyoteResponse, org.apache.coyote.http2.Stream.StreamOutputBuffer streamOutputBuffer)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addFilter​(OutputFilter filter)` | Add a filter at the start of the existing processing chain.
    `int` | `doWrite​(java.nio.ByteBuffer chunk)` | Write the given data to the response.
    `int` | `doWrite​(ByteChunk chunk)` | Deprecated.
    `void` | `end()` | Finish writing the current response.
    `void` | `flush()` | Flushes any unwritten data to the client.
    `long` | `getBytesWritten()` | Bytes written to the underlying socket.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Http2OutputBuffer

          public Http2OutputBuffer​(Response coyoteResponse,
                                   org.apache.coyote.http2.Stream.StreamOutputBuffer streamOutputBuffer)

  - ### Method Detail

    - #### addFilter

          public void addFilter​(OutputFilter filter)

      Add a filter at the start of the existing processing chain. Subsequent calls to the `HttpOutputBuffer` methods of this object will be passed to the filter. If appropriate, the filter will then call the same method on the next HttpOutputBuffer in the chain until the call reaches the StreamOutputBuffer.
      Parameters:
        `filter` - The filter to add to the start of the processing chain

    - #### doWrite

          public int doWrite​(java.nio.ByteBuffer chunk)
                      throws java.io.IOException

      Description copied from interface: `OutputBuffer`
      Write the given data to the response. The caller owns the chunks.
      Specified by:
        `doWrite` in interface `OutputBuffer`
      Parameters:
        `chunk` - data to write
      Returns:
        The number of bytes written which may be less than available in the input chunk
      Throws:
        `java.io.IOException` - an underlying I/O error occurred

    - #### getBytesWritten

          public long getBytesWritten()

      Description copied from interface: `OutputBuffer`
      Bytes written to the underlying socket. This includes the effects of chunking, compression, etc.
      Specified by:
        `getBytesWritten` in interface `OutputBuffer`
      Returns:
        Bytes written for the current request

    - #### end

          public void end()
                   throws java.io.IOException

      Description copied from interface: `HttpOutputBuffer`
      Finish writing the current response. It is acceptable to write extra bytes using `OutputBuffer.doWrite(java.nio.ByteBuffer)` during the execution of this method.
      Specified by:
        `end` in interface `HttpOutputBuffer`
      Throws:
        `java.io.IOException` - If an I/O error occurs while writing to the client

    - #### flush

          public void flush()
                     throws java.io.IOException

      Description copied from interface: `HttpOutputBuffer`
      Flushes any unwritten data to the client.
      Specified by:
        `flush` in interface `HttpOutputBuffer`
      Throws:
        `java.io.IOException` - If an I/O error occurs while flushing

    - #### doWrite

          @Deprecated
          public int doWrite​(ByteChunk chunk)
                      throws java.io.IOException

      Deprecated.
      Description copied from interface: `OutputBuffer`
      Write the given data to the response. The caller owns the chunks.
      Specified by:
        `doWrite` in interface `OutputBuffer`
      Parameters:
        `chunk` - data to write
      Returns:
        The number of bytes written which may be less than available in the input chunk
      Throws:
        `java.io.IOException` - an underlying I/O error occurred