## org.apache.http.impl.nio.reactor
Class SessionOutputBufferImpl

    java.lang.Object
      org.apache.http.nio.util.ExpandableBuffer
          org.apache.http.impl.nio.reactor.SessionOutputBufferImpl

All Implemented Interfaces:
  SessionOutputBuffer, BufferInfo

    @NotThreadSafe
    public class SessionOutputBufferImpl

extends ExpandableBuffer
implements SessionOutputBuffer

Default implementation of `SessionOutputBuffer` based on the `ExpandableBuffer` class.

The following parameters can be used to customize the behavior of this class:

- `CoreProtocolPNames.HTTP_ELEMENT_CHARSET`

Since:
  4.0

Field Summary

Fields inherited from class org.apache.http.nio.util.ExpandableBuffer
`buffer, INPUT_MODE, OUTPUT_MODE`

Constructor Summary
`SessionOutputBufferImpl(int buffersize, int linebuffersize, ByteBufferAllocator allocator, HttpParams params)`
`SessionOutputBufferImpl(int buffersize, int linebuffersize, HttpParams params)`

Method Summary
`int` `flush(WritableByteChannel channel)` Makes an attempt to flush the content of this buffer to the given destination `WritableByteChannel`.
`void` `reset(HttpParams params)`
`void` `write(ByteBuffer src)` Copies content of the source buffer into this buffer.
`void` `write(ReadableByteChannel src)` Reads a sequence of bytes from the source channel into this buffer.
`void` `writeLine(CharArrayBuffer linebuffer)` Copies content of the source buffer into this buffer as one line of text including a line delimiter.
`void` `writeLine(String s)` Copies content of the given string into this buffer as one line of text including a line delimiter.

Methods inherited from class org.apache.http.nio.util.ExpandableBuffer
`available, capacity, clear, ensureCapacity, expand, getMode, hasData, length, setInputMode, setOutputMode, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.http.nio.reactor.SessionOutputBuffer
`hasData, length`

Constructor Detail

### SessionOutputBufferImpl

    public SessionOutputBufferImpl(int buffersize,
                                   int linebuffersize,
                                   ByteBufferAllocator allocator,
                                   HttpParams params)

### SessionOutputBufferImpl

    public SessionOutputBufferImpl(int buffersize,
                                   int linebuffersize,
                                   HttpParams params)

Method Detail

### reset

    public void reset(HttpParams params)

### flush

    public int flush(WritableByteChannel channel)
              throws IOException

  Description copied from interface: `SessionOutputBuffer`
  Makes an attempt to flush the content of this buffer to the given destination `WritableByteChannel`.

  Specified by:
    `flush` in interface `SessionOutputBuffer`
  Parameters:
    `channel` - the destination channel.
  Returns:
    The number of bytes written, possibly zero.
  Throws:
    `IOException` - in case of an I/O error.

### write

    public void write(ByteBuffer src)

  Description copied from interface: `SessionOutputBuffer`
  Copies content of the source buffer into this buffer. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.

  Specified by:
    `write` in interface `SessionOutputBuffer`
  Parameters:
    `src` - the source buffer.

### write

    public void write(ReadableByteChannel src)
               throws IOException

  Description copied from interface: `SessionOutputBuffer`
  Reads a sequence of bytes from the source channel into this buffer.

  Specified by:
    `write` in interface `SessionOutputBuffer`
  Parameters:
    `src` - the source channel.
  Throws:
    `IOException`

### writeLine

    public void writeLine(CharArrayBuffer linebuffer)
                   throws CharacterCodingException

  Description copied from interface: `SessionOutputBuffer`
  Copies content of the source buffer into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire content of the source buffer.

  The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

  Specified by:
    `writeLine` in interface `SessionOutputBuffer`
  Parameters:
    `linebuffer` - the source buffer.
  Throws:
    `CharacterCodingException`

### writeLine

    public void writeLine(String s)
                   throws IOException

  Description copied from interface: `SessionOutputBuffer`
  Copies content of the given string into this buffer as one line of text including a line delimiter. The capacity of the destination will be expanded in order to accommodate the entire string.

  The choice of a char encoding and line delimiter sequence is up to the specific implementations of this interface.

  Specified by:
    `writeLine` in interface `SessionOutputBuffer`
  Parameters:
    `s` - the string.
  Throws:
    `IOException`

Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.