org.apache.coyote.http11

## Class Http11OutputBuffer.SocketOutputBuffer

- java.lang.Object
- - org.apache.coyote.http11.Http11OutputBuffer.SocketOutputBuffer

- All Implemented Interfaces:
    HttpOutputBuffer, OutputBuffer
  Enclosing class:
    Http11OutputBuffer

      protected class Http11OutputBuffer.SocketOutputBuffer
      extends Object
      implements HttpOutputBuffer

  This class is an output buffer which will write data to a socket.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `SocketOutputBuffer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doWrite(ByteBuffer chunk)` Write chunk.
    `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

    - #### SocketOutputBuffer

          protected SocketOutputBuffer()

  - ### Method Detail

    - #### doWrite

          public int doWrite(ByteBuffer chunk)
                      throws IOException

      Write chunk.
      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

    - #### end

          public void end()
                   throws 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:
        `IOException` - If an I/O error occurs while writing to the client

    - #### flush

          public void flush()
                     throws IOException

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

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