Package 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:
BufferInfo,SessionOutputBuffer,BufferInfo
public class SessionOutputBufferImpl extends ExpandableBuffer implements SessionOutputBuffer
Default implementation ofSessionOutputBufferbased on theExpandableBufferclass.- Since:
- 4.0
-
-
Field Summary
-
Fields inherited from class org.apache.http.nio.util.ExpandableBuffer
INPUT_MODE, OUTPUT_MODE
-
-
Constructor Summary
Constructors Constructor Description SessionOutputBufferImpl(int buffersize)SessionOutputBufferImpl(int buffersize, int linebuffersize)SessionOutputBufferImpl(int buffersize, int linebuffersize, java.nio.charset.Charset charset)SessionOutputBufferImpl(int buffersize, int lineBuffersize, java.nio.charset.CharsetEncoder charencoder, ByteBufferAllocator allocator)Creates SessionOutputBufferImpl instance.SessionOutputBufferImpl(int buffersize, int lineBuffersize, ByteBufferAllocator allocator, HttpParams params)Deprecated.SessionOutputBufferImpl(int buffersize, int linebuffersize, HttpParams params)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intflush(java.nio.channels.WritableByteChannel channel)Makes an attempt to flush the content of this buffer to the given destinationWritableByteChannel.voidreset(HttpParams params)voidwrite(java.nio.ByteBuffer src)Copies content of the source buffer into this buffer.voidwrite(java.nio.channels.ReadableByteChannel src)Reads a sequence of bytes from the source channel into this buffer.voidwriteLine(java.lang.String s)Copies content of the given string into this buffer as one line of text including a line delimiter.voidwriteLine(CharArrayBuffer linebuffer)Copies content of the source buffer into this buffer as one line of text including a line delimiter.-
Methods inherited from class org.apache.http.nio.util.ExpandableBuffer
available, capacity, hasData, length, toString
-
Methods inherited from class java.lang.Object
equals, 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, java.nio.charset.CharsetEncoder charencoder, ByteBufferAllocator allocator)Creates SessionOutputBufferImpl instance.- Parameters:
buffersize- input buffer sizelineBuffersize- buffer size for line operations. Has effect only ifcharencoderis notnull.charencoder- charencoder to be used for encoding HTTP protocol elements. Ifnullsimple type cast will be used for char to byte conversion.allocator- memory allocator. IfnullHeapByteBufferAllocator.INSTANCEwill be used.- Since:
- 4.3
-
SessionOutputBufferImpl
@Deprecated public SessionOutputBufferImpl(int buffersize, int lineBuffersize, ByteBufferAllocator allocator, HttpParams params)Deprecated.
-
SessionOutputBufferImpl
@Deprecated public SessionOutputBufferImpl(int buffersize, int linebuffersize, HttpParams params)Deprecated.
-
SessionOutputBufferImpl
public SessionOutputBufferImpl(int buffersize)
- Since:
- 4.3
-
SessionOutputBufferImpl
public SessionOutputBufferImpl(int buffersize, int linebuffersize, java.nio.charset.Charset charset)- Since:
- 4.3
-
SessionOutputBufferImpl
public SessionOutputBufferImpl(int buffersize, int linebuffersize)- Since:
- 4.3
-
-
Method Detail
-
reset
public void reset(HttpParams params)
-
flush
public int flush(java.nio.channels.WritableByteChannel channel) throws java.io.IOExceptionDescription copied from interface:SessionOutputBufferMakes an attempt to flush the content of this buffer to the given destinationWritableByteChannel.- Specified by:
flushin interfaceSessionOutputBuffer- Parameters:
channel- the destination channel.- Returns:
- The number of bytes written, possibly zero.
- Throws:
java.io.IOException- in case of an I/O error.
-
write
public void write(java.nio.ByteBuffer src)
Description copied from interface:SessionOutputBufferCopies 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:
writein interfaceSessionOutputBuffer- Parameters:
src- the source buffer.
-
write
public void write(java.nio.channels.ReadableByteChannel src) throws java.io.IOExceptionDescription copied from interface:SessionOutputBufferReads a sequence of bytes from the source channel into this buffer.- Specified by:
writein interfaceSessionOutputBuffer- Parameters:
src- the source channel.- Throws:
java.io.IOException
-
writeLine
public void writeLine(CharArrayBuffer linebuffer) throws java.nio.charset.CharacterCodingException
Description copied from interface:SessionOutputBufferCopies 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:
writeLinein interfaceSessionOutputBuffer- Parameters:
linebuffer- the source buffer.- Throws:
java.nio.charset.CharacterCodingException
-
writeLine
public void writeLine(java.lang.String s) throws java.io.IOExceptionDescription copied from interface:SessionOutputBufferCopies 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:
writeLinein interfaceSessionOutputBuffer- Parameters:
s- the string.- Throws:
java.io.IOException
-
-