public class SessionOutputBufferImpl extends Object implements SessionOutputBuffer
OutputStream. This class buffers small chunks of
output data in an internal byte array for optimal output performance.
writeLine(CharArrayBuffer, OutputStream) method of this class uses CR-LF
as a line delimiter.
| 构造器和说明 |
|---|
SessionOutputBufferImpl(BasicHttpTransportMetrics metrics,
int bufferSize,
int fragmentSizeHint,
CharsetEncoder charEncoder)
Creates new instance of SessionOutputBufferImpl.
|
SessionOutputBufferImpl(int bufferSize) |
SessionOutputBufferImpl(int bufferSize,
CharsetEncoder encoder) |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
available()
Returns available space in the buffer.
|
int |
capacity()
Returns total capacity of the buffer
|
void |
flush(OutputStream outputStream)
Flushes this session buffer and forces any buffered output bytes
to be written out.
|
HttpTransportMetrics |
getMetrics()
Returns
HttpTransportMetrics for this session buffer. |
int |
length()
Return length data stored in the buffer
|
void |
write(byte[] b,
int off,
int len,
OutputStream outputStream)
Writes
len bytes from the specified byte array
starting at offset off to this session buffer. |
void |
write(byte[] b,
OutputStream outputStream)
Writes
b.length bytes from the specified byte array
to this session buffer. |
void |
write(int b,
OutputStream outputStream)
Writes the specified byte to this session buffer.
|
void |
writeLine(CharArrayBuffer charbuffer,
OutputStream outputStream)
Writes characters from the specified char array followed by a line
delimiter to this session buffer.
|
public SessionOutputBufferImpl(BasicHttpTransportMetrics metrics, int bufferSize, int fragmentSizeHint, CharsetEncoder charEncoder)
metrics - HTTP transport metrics.bufferSize - buffer size. Must be a positive number.fragmentSizeHint - 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(int bufferSize)
public SessionOutputBufferImpl(int bufferSize,
CharsetEncoder encoder)
public int capacity()
SessionOutputBuffercapacity 在接口中 SessionOutputBufferpublic int length()
SessionOutputBufferlength 在接口中 SessionOutputBufferpublic int available()
SessionOutputBufferavailable 在接口中 SessionOutputBufferpublic void flush(OutputStream outputStream) 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 在接口中 SessionOutputBufferIOException - if an I/O error occurs.public void write(byte[] b,
int off,
int len,
OutputStream outputStream)
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 在接口中 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,
OutputStream outputStream)
throws IOException
SessionOutputBufferb.length bytes from the specified byte array
to this session buffer.write 在接口中 SessionOutputBufferb - the data.IOException - if an I/O error occurs.public void write(int b,
OutputStream outputStream)
throws IOException
SessionOutputBufferwrite 在接口中 SessionOutputBufferb - the byte.IOException - if an I/O error occurs.public void writeLine(CharArrayBuffer charbuffer, OutputStream outputStream) throws IOException
This method uses CR-LF as a line delimiter.
writeLine 在接口中 SessionOutputBuffercharbuffer - the buffer containing chars of the line.IOException - if an I/O error occurs.public HttpTransportMetrics getMetrics()
SessionOutputBufferHttpTransportMetrics for this session buffer.getMetrics 在接口中 SessionOutputBufferCopyright © 2023. All rights reserved.