Class SharedOutputBuffer
java.lang.Object
org.apache.http.nio.util.ExpandableBuffer
org.apache.cxf.transport.http.asyncclient.SharedOutputBuffer
- All Implemented Interfaces:
org.apache.http.io.BufferInfo,org.apache.http.nio.util.BufferInfo
public class SharedOutputBuffer
extends org.apache.http.nio.util.ExpandableBuffer
Content buffer 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, IOControl).
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
ConstructorsConstructorDescriptionSharedOutputBuffer(int buffersize, org.apache.http.nio.util.ByteBufferAllocator allocator) -
Method Summary
Modifier and TypeMethodDescriptionintintcapacity()voidclose()intcopy(InputStream in) voidflush()booleanhasData()intlength()intproduceContent(org.apache.http.nio.ContentEncoder encoder, org.apache.http.nio.IOControl ioc) voidreset()voidshutdown()voidwrite(byte[] b) voidwrite(byte[] b, int off, int len) voidwrite(int b) intwrite(ByteBuffer b) voidMethods inherited from class org.apache.http.nio.util.ExpandableBuffer
clear, ensureCapacity, expand, getMode, setInputMode, setOutputMode, toString
-
Constructor Details
-
SharedOutputBuffer
public SharedOutputBuffer(int buffersize, org.apache.http.nio.util.ByteBufferAllocator allocator)
-
-
Method Details
-
reset
public void reset() -
hasData
public boolean hasData()- Overrides:
hasDatain classorg.apache.http.nio.util.ExpandableBuffer
-
available
public int available()- Specified by:
availablein interfaceorg.apache.http.io.BufferInfo- Specified by:
availablein interfaceorg.apache.http.nio.util.BufferInfo- Overrides:
availablein classorg.apache.http.nio.util.ExpandableBuffer
-
capacity
public int capacity()- Specified by:
capacityin interfaceorg.apache.http.io.BufferInfo- Specified by:
capacityin interfaceorg.apache.http.nio.util.BufferInfo- Overrides:
capacityin classorg.apache.http.nio.util.ExpandableBuffer
-
length
public int length()- Specified by:
lengthin interfaceorg.apache.http.io.BufferInfo- Specified by:
lengthin interfaceorg.apache.http.nio.util.BufferInfo- Overrides:
lengthin classorg.apache.http.nio.util.ExpandableBuffer
-
produceContent
public int produceContent(org.apache.http.nio.ContentEncoder encoder, org.apache.http.nio.IOControl ioc) throws IOException - Throws:
IOException
-
close
public void close() -
shutdown
public void shutdown() -
copy
- Throws:
IOException
-
write
- Throws:
IOException
-
write
- Throws:
IOException
-
write
- Throws:
IOException
-
write
- Throws:
IOException
-
flush
- Throws:
IOException
-
writeCompleted
- Throws:
IOException
-