ChunkedOutputFilter (Apache Tomcat 8.5.12 API Documentation)

org.apache.coyote.http11.filters

## Class ChunkedOutputFilter

- java.lang.Object
- - org.apache.coyote.http11.filters.ChunkedOutputFilter

- All Implemented Interfaces:
    OutputFilter, OutputBuffer

      public class ChunkedOutputFilter
      extends Object
      implements OutputFilter

  Chunked output filter.
  Author:
    Remy Maucherat

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected OutputBuffer` | `buffer` Next buffer in the pipeline.
    `protected ByteBuffer` | `chunkHeader` Chunk header.
    `protected ByteBuffer` | `endChunk` End chunk.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ChunkedOutputFilter()` Default constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doWrite(ByteBuffer chunk)` Write the given data to the response.
    `int` | `doWrite(ByteChunk chunk)` Deprecated. Unused. Will be removed in Tomcat 9. Use `doWrite(ByteBuffer)`
    `long` | `end()` End the current request.
    `long` | `getBytesWritten()` Bytes written to the underlying socket.
    `void` | `recycle()` Make the filter ready to process the next request.
    `void` | `setBuffer(OutputBuffer buffer)` Set the next buffer in the filter pipeline.
    `void` | `setResponse(Response response)` Some filters need additional parameters from the response.

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

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

- - ### Field Detail

    - #### buffer

          protected OutputBuffer buffer

      Next buffer in the pipeline.

    - #### chunkHeader

          protected final ByteBuffer chunkHeader

      Chunk header.

    - #### endChunk

          protected final ByteBuffer endChunk

      End chunk.

  - ### Constructor Detail

    - #### ChunkedOutputFilter

          public ChunkedOutputFilter()

      Default constructor.

  - ### Method Detail

    - #### doWrite

          @Deprecated
          public int doWrite(ByteChunk chunk)
                      throws IOException

      Deprecated. Unused. Will be removed in Tomcat 9. Use `doWrite(ByteBuffer)`
      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:
        `IOException` - an underlying I/O error occurred

    - #### doWrite

          public int doWrite(ByteBuffer chunk)
                      throws 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:
        `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

    - #### setResponse

          public void setResponse(Response response)

      Some filters need additional parameters from the response. All the necessary reading can occur in that method, as this method is called after the response header processing is complete.
      Specified by:
        `setResponse` in interface `OutputFilter`
      Parameters:
        `response` - The response to associate with this OutputFilter

    - #### setBuffer

          public void setBuffer(OutputBuffer buffer)

      Set the next buffer in the filter pipeline.
      Specified by:
        `setBuffer` in interface `OutputFilter`
      Parameters:
        `buffer` - The next buffer instance

    - #### end

          public long end()
                   throws IOException

      End the current request. It is acceptable to write extra bytes using buffer.doWrite during the execution of this method.
      Specified by:
        `end` in interface `OutputFilter`
      Returns:
        Should return 0 unless the filter does some content length delimitation, in which case the number is the amount of extra bytes or missing bytes, which would indicate an error. Note: It is recommended that extra bytes be swallowed by the filter.
      Throws:
        `IOException` - If an I/O error occurs while writing to the client

    - #### recycle

          public void recycle()

      Make the filter ready to process the next request.
      Specified by:
        `recycle` in interface `OutputFilter`

Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.