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

Modifier and Type
Method
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 Details

### SocketOutputBuffer

protected SocketOutputBuffer()

## Method Details

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