@ThreadSafe public class SharedOutputBuffer extends ExpandableBuffer implements ContentOutputBuffer
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.
buffer, INPUT_MODE, OUTPUT_MODE| 构造器和说明 |
|---|
SharedOutputBuffer(int buffersize) |
SharedOutputBuffer(int buffersize,
ByteBufferAllocator allocator) |
SharedOutputBuffer(int buffersize,
IOControl ioctrl,
ByteBufferAllocator allocator)
已过时。
|
| 限定符和类型 | 方法和说明 |
|---|---|
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)
已过时。
|
int |
produceContent(ContentEncoder encoder,
IOControl ioctrl) |
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.
|
clear, ensureCapacity, expand, getMode, setInputMode, setOutputMode, toString@Deprecated
public SharedOutputBuffer(int buffersize,
IOControl ioctrl,
ByteBufferAllocator allocator)
SharedOutputBuffer(int, ByteBufferAllocator)public SharedOutputBuffer(int buffersize,
ByteBufferAllocator allocator)
public SharedOutputBuffer(int buffersize)
public void reset()
ContentOutputBufferreset 在接口中 ContentOutputBufferpublic boolean hasData()
ExpandableBufferhasData 在类中 ExpandableBuffertrue if there is data in the buffer,
false otherwise.public int available()
ExpandableBufferavailable 在接口中 BufferInfoavailable 在类中 ExpandableBufferpublic int capacity()
ExpandableBuffercapacity 在接口中 BufferInfocapacity 在类中 ExpandableBufferpublic int length()
ExpandableBufferlength 在接口中 BufferInfolength 在类中 ExpandableBuffer@Deprecated public int produceContent(ContentEncoder encoder) throws java.io.IOException
produceContent(ContentEncoder, IOControl)ContentOutputBufferContentEncoder.produceContent 在接口中 ContentOutputBufferencoder - content encoder.java.io.IOException - in case of an I/O error.public int produceContent(ContentEncoder encoder, IOControl ioctrl) throws java.io.IOException
java.io.IOExceptionpublic void close()
public void shutdown()
public void write(byte[] b,
int off,
int len)
throws java.io.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 category
of runtime exception thrown by this method depends on implementation.
write 在接口中 ContentOutputBufferb - the data.off - the start offset in the data.len - the number of bytes to write.java.io.IOException - if an I/O error occurs.public void write(byte[] b)
throws java.io.IOException
java.io.IOExceptionpublic void write(int b)
throws java.io.IOException
ContentOutputBufferwrite 在接口中 ContentOutputBufferb - the byte.java.io.IOException - if an I/O error occurs.public void flush()
throws java.io.IOException
flush 在接口中 ContentOutputBufferjava.io.IOExceptionpublic void writeCompleted()
throws java.io.IOException
ContentOutputBufferwriteCompleted 在接口中 ContentOutputBufferjava.io.IOException - if an I/O error occurs.