@NotThreadSafe public abstract class AbstractSessionOutputBuffer extends Object implements SessionOutputBuffer, BufferInfo
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.
The following parameters can be used to customize the behavior of this class:
| Constructor and Description |
|---|
AbstractSessionOutputBuffer() |
| Modifier and Type | Method and Description |
|---|---|
int |
available()
Returns available space in the buffer.
|
int |
capacity()
Returns total capacity of the buffer
|
protected HttpTransportMetricsImpl |
createTransportMetrics() |
void |
flush()
Flushes this session buffer and forces any buffered output bytes
to be written out.
|
protected void |
flushBuffer() |
HttpTransportMetrics |
getMetrics()
Returns
HttpTransportMetrics for this session buffer. |
protected void |
init(OutputStream outstream,
int buffersize,
HttpParams params)
Initializes this session output buffer.
|
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.
|
protected void init(OutputStream outstream, int buffersize, HttpParams params)
outstream - the destination output stream.buffersize - the size of the internal buffer.params - HTTP parameters.protected HttpTransportMetricsImpl createTransportMetrics()
public int capacity()
BufferInfocapacity in interface BufferInfopublic int length()
BufferInfolength in interface BufferInfopublic int available()
BufferInfoavailable in interface BufferInfoprotected void flushBuffer()
throws IOException
IOExceptionpublic void flush()
throws IOException
SessionOutputBufferflush 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 SessionOutputBufferIOException - if an I/O error occurs.public void write(byte[] b,
int off,
int len)
throws IOException
SessionOutputBufferlen 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 SessionOutputBufferb - 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
SessionOutputBufferb.length bytes from the specified byte array
to this session buffer.write in interface SessionOutputBufferb - the data.IOException - if an I/O error occurs.public void write(int b)
throws IOException
SessionOutputBufferwrite in interface SessionOutputBufferb - 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 SessionOutputBuffers - 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 SessionOutputBuffercharbuffer - the buffer containing chars of the line.IOException - if an I/O error occurs.public HttpTransportMetrics getMetrics()
SessionOutputBufferHttpTransportMetrics for this session buffer.getMetrics in interface SessionOutputBufferCopyright © 2005–2013 The Apache Software Foundation. All rights reserved.