|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.http.impl.io.SessionOutputBufferImpl
public class SessionOutputBufferImpl
Abstract base class for session output buffers that stream data to
an arbitrary OutputStream
. This class buffers small chunks of
output data in an internal byte array for optimal output performance.
writeLine(CharArrayBuffer)
and writeLine(String)
methods
of this class use CR-LF as a line delimiter.
Constructor Summary | |
---|---|
SessionOutputBufferImpl(HttpTransportMetricsImpl metrics,
int bufferSize)
|
|
SessionOutputBufferImpl(HttpTransportMetricsImpl metrics,
int bufferSize,
int fragementSizeHint,
CharsetEncoder charEncoder)
Creates new instance of SessionOutputBufferImpl. |
Method Summary | |
---|---|
int |
available()
Returns available space in the buffer. |
void |
bind(OutputStream outStream)
|
int |
capacity()
Returns total capacity of the buffer |
void |
flush()
Flushes this session buffer and forces any buffered output bytes to be written out. |
HttpTransportMetrics |
getMetrics()
Returns HttpTransportMetrics for this session buffer. |
boolean |
isBound()
|
int |
length()
Return length data stored in the buffer |
void |
write(byte[] b)
Writes b.length bytes from the specified byte array
to this session buffer. |
void |
write(byte[] b,
int off,
int len)
Writes len bytes from the specified byte array
starting at offset off to this session buffer. |
void |
write(int b)
Writes the specified byte to this session buffer. |
void |
writeLine(CharArrayBuffer charbuffer)
Writes characters from the specified char array followed by a line delimiter to this session buffer. |
void |
writeLine(String s)
Writes characters from the specified string followed by a line delimiter to this session buffer. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SessionOutputBufferImpl(HttpTransportMetricsImpl metrics, int bufferSize, int fragementSizeHint, CharsetEncoder charEncoder)
metrics
- HTTP transport metrics.bufferSize
- buffer size. Must be a positive number.fragementSizeHint
- fragment size hint defining a minimal size of a fragment
that should be written out directly to the socket bypassing the session buffer.
Value 0
disables fragment buffering.charEncoder
- charEncoder to be used for encoding HTTP protocol elements.
If null
simple type cast will be used for char to byte conversion.public SessionOutputBufferImpl(HttpTransportMetricsImpl metrics, int bufferSize)
Method Detail |
---|
public void bind(OutputStream outStream)
public boolean isBound()
public int capacity()
BufferInfo
capacity
in interface BufferInfo
public int length()
BufferInfo
length
in interface BufferInfo
public int available()
BufferInfo
available
in interface BufferInfo
public void flush() throws IOException
SessionOutputBuffer
flush
is
that calling it is an indication that, if any bytes previously
written have been buffered by the implementation of the output
stream, such bytes should immediately be written to their
intended destination.
flush
in interface SessionOutputBuffer
IOException
- if an I/O error occurs.public void write(byte[] b, int off, int len) throws IOException
SessionOutputBuffer
len
bytes from the specified byte array
starting at offset off
to this session buffer.
If off
is negative, or len
is negative, or
off+len
is greater than the length of the array
b
, then an IndexOutOfBoundsException
is thrown.
write
in interface SessionOutputBuffer
b
- the data.off
- the start offset in the data.len
- the number of bytes to write.
IOException
- if an I/O error occurs.public void write(byte[] b) throws IOException
SessionOutputBuffer
b.length
bytes from the specified byte array
to this session buffer.
write
in interface SessionOutputBuffer
b
- the data.
IOException
- if an I/O error occurs.public void write(int b) throws IOException
SessionOutputBuffer
write
in interface SessionOutputBuffer
b
- the byte
.
IOException
- if an I/O error occurs.public void writeLine(String s) throws IOException
This method uses CR-LF as a line delimiter.
writeLine
in interface SessionOutputBuffer
s
- the line.
IOException
- if an I/O error occurs.public void writeLine(CharArrayBuffer charbuffer) throws IOException
This method uses CR-LF as a line delimiter.
writeLine
in interface SessionOutputBuffer
charbuffer
- the buffer containing chars of the line.
IOException
- if an I/O error occurs.public HttpTransportMetrics getMetrics()
SessionOutputBuffer
HttpTransportMetrics
for this session buffer.
getMetrics
in interface SessionOutputBuffer
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |