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

java.lang.Object
  extended by org.apache.http.nio.util.ExpandableBuffer
      extended by 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
 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,
                               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


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