|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.http.nio.util.ExpandableBuffer
org.apache.http.nio.util.SharedOutputBuffer
@ThreadSafe public class SharedOutputBuffer
Implementation of the ContentOutputBuffer interface that can be
shared by multiple threads, usually the I/O dispatch of an I/O reactor and
a worker thread.
The I/O dispatch thread is expected to transfer data from the buffer to
ContentEncoder by calling produceContent(ContentEncoder).
The worker thread is expected to write data to the buffer by calling
write(int), write(byte[], int, int) or writeCompleted()
In case of an abnormal situation or when no longer needed the buffer must be
shut down using shutdown() method.
| Field Summary |
|---|
| Fields inherited from class org.apache.http.nio.util.ExpandableBuffer |
|---|
buffer, INPUT_MODE, OUTPUT_MODE |
| Constructor Summary | |
|---|---|
SharedOutputBuffer(int buffersize,
IOControl ioctrl,
ByteBufferAllocator allocator)
|
|
| Method Summary | |
|---|---|
int |
available()
Returns available capacity of this buffer. |
int |
capacity()
Returns the total capacity of this buffer. |
void |
close()
|
void |
flush()
|
boolean |
hasData()
Determines if the buffer contains data. |
int |
length()
Returns the length of this buffer. |
int |
produceContent(ContentEncoder encoder)
Writes content from this buffer to the given ContentEncoder. |
void |
reset()
Resets the buffer by clearing its state and stored content. |
void |
shutdown()
|
void |
write(byte[] b)
|
void |
write(byte[] b,
int off,
int len)
Writes len bytes from the specified byte array
starting at offset off to this buffer. |
void |
write(int b)
Writes the specified byte to this buffer. |
void |
writeCompleted()
Indicates the content has been fully written. |
| Methods inherited from class org.apache.http.nio.util.ExpandableBuffer |
|---|
clear, ensureCapacity, expand, getMode, setInputMode, setOutputMode, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public SharedOutputBuffer(int buffersize,
IOControl ioctrl,
ByteBufferAllocator allocator)
| Method Detail |
|---|
public void reset()
ContentOutputBuffer
reset in interface ContentOutputBufferpublic boolean hasData()
ExpandableBuffer
hasData in class ExpandableBuffertrue if there is data in the buffer,
false otherwise.public int available()
ExpandableBuffer
available in interface BufferInfoavailable in class ExpandableBufferpublic int capacity()
ExpandableBuffer
capacity in interface BufferInfocapacity in class ExpandableBufferpublic int length()
ExpandableBuffer
length in interface BufferInfolength in class ExpandableBuffer
public int produceContent(ContentEncoder encoder)
throws IOException
ContentOutputBufferContentEncoder.
produceContent in interface ContentOutputBufferencoder - content encoder.
IOException - in case of an I/O error.public void close()
public void shutdown()
public void write(byte[] b,
int off,
int len)
throws IOException
ContentOutputBufferlen bytes from the specified byte array
starting at offset off to this buffer.
If off is negative, or len is negative, or
off+len is greater than the length of the array
b, this method can throw a runtime exception. The exact type
of runtime exception thrown by this method depends on implementation.
write in interface ContentOutputBufferb - 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
IOException
public void write(int b)
throws IOException
ContentOutputBuffer
write in interface ContentOutputBufferb - the byte.
IOException - if an I/O error occurs.
public void flush()
throws IOException
flush in interface ContentOutputBufferIOException
public void writeCompleted()
throws IOException
ContentOutputBuffer
writeCompleted in interface ContentOutputBufferIOException - if an I/O error occurs.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||