Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

    public class SessionOutputBufferImpl

extends ExpandableBuffer
implements SessionOutputBuffer

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

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)` Creates SessionOutputBufferImpl instance.
`SessionOutputBufferImpl(int bufferSize, int lineBufferSize)` Creates SessionOutputBufferImpl instance.
`SessionOutputBufferImpl(int bufferSize, int lineBufferSize, ByteBufferAllocator allocator, HttpParams params)` Deprecated. (4.3) use `SessionOutputBufferImpl(int, int, CharsetEncoder, ByteBufferAllocator)`
`SessionOutputBufferImpl(int bufferSize, int lineBufferSize, Charset charset)` Creates SessionOutputBufferImpl instance.
`SessionOutputBufferImpl(int bufferSize, int lineBufferSize, CharsetEncoder charEncoder, ByteBufferAllocator allocator)` Creates SessionOutputBufferImpl instance.
`SessionOutputBufferImpl(int bufferSize, int lineBufferSize, HttpParams params)` Deprecated. (4.3) use `SessionOutputBufferImpl(int, int, Charset)`

Method Summary
`void` | `clear()` Clears buffer.
`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, 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,
                                   CharsetEncoder charEncoder,
                                   ByteBufferAllocator allocator)

  Creates SessionOutputBufferImpl instance.

  Parameters:
    `bufferSize` - input buffer size.
    `lineBufferSize` - buffer size for line operations. Has effect only if `charEncoder` is not `null`.
    `charEncoder` - CharEncoder to be used for encoding HTTP protocol elements. If `null` simple type cast will be used for char to byte conversion.
    `allocator` - memory allocator. If `null` `HeapByteBufferAllocator.INSTANCE` will be used.
  Since:
    4.3

### SessionOutputBufferImpl

    @Deprecated
    public SessionOutputBufferImpl(int bufferSize,
                                              int lineBufferSize,
                                              ByteBufferAllocator allocator,
                                              HttpParams params)

  Deprecated. (4.3) use `SessionOutputBufferImpl(int, int, CharsetEncoder, ByteBufferAllocator)`

### SessionOutputBufferImpl

    @Deprecated
    public SessionOutputBufferImpl(int bufferSize,
                                              int lineBufferSize,
                                              HttpParams params)

  Deprecated. (4.3) use `SessionOutputBufferImpl(int, int, Charset)`

### SessionOutputBufferImpl

    public SessionOutputBufferImpl(int bufferSize)

  Creates SessionOutputBufferImpl instance.

  Parameters:
    `bufferSize` - input buffer size.
  Since:
    4.3

### SessionOutputBufferImpl

    public SessionOutputBufferImpl(int bufferSize,
                                   int lineBufferSize,
                                   Charset charset)

  Creates SessionOutputBufferImpl instance.

  Parameters:
    `bufferSize` - input buffer size.
    `lineBufferSize` - buffer size for line operations. Has effect only if `charset` is not `null`.
    `charset` - Charset to be used for encoding HTTP protocol elements. If `null` simple type cast will be used for char to byte conversion.
  Since:
    4.3

### SessionOutputBufferImpl

    public SessionOutputBufferImpl(int bufferSize,
                                   int lineBufferSize)

  Creates SessionOutputBufferImpl instance.

  Parameters:
    `bufferSize` - input buffer size.
    `lineBufferSize` - buffer size for line operations.
  Since:
    4.3

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`

### clear

    public void clear()

  Description copied from class: `ExpandableBuffer`
  Clears buffer.

  Overrides:
    `clear` in class `ExpandableBuffer`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.