Http11OutputBuffer.SocketOutputBuffer (Apache Tomcat 8.5.84 API Documentation)

Package 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 java.lang.Object
      implements HttpOutputBuffer

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

- - ### Constructor Summary

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

  - ### Method Summary

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

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

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

    - #### doWrite

          public int doWrite​(java.nio.ByteBuffer chunk)
                      throws java.io.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:
        `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