Class SharedInputBuffer
java.lang.Object
org.apache.http.nio.util.ExpandableBuffer
org.apache.cxf.transport.http.asyncclient.SharedInputBuffer
- All Implemented Interfaces:
org.apache.http.io.BufferInfo,org.apache.http.nio.util.BufferInfo
public class SharedInputBuffer
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 expect to transfer data from
ContentDecoder to the buffer
by calling #consumeContent(ContentDecoder).
The worker thread is expected to read the data from the buffer by calling
read() or read(byte[], int, int) methods.
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
ConstructorsConstructorDescriptionSharedInputBuffer(int buffersize, org.apache.http.nio.util.ByteBufferAllocator allocator) -
Method Summary
Modifier and TypeMethodDescriptionintintcapacity()voidclose()intconsumeContent(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioc) booleanhasData()protected booleanprotected booleanintlength()intread()intread(byte[] b) intread(byte[] b, int off, int len) voidreset()voidshutdown()protected voidwaitForData(int waitPos) Methods inherited from class org.apache.http.nio.util.ExpandableBuffer
clear, ensureCapacity, expand, getMode, setInputMode, setOutputMode, toString
-
Constructor Details
-
SharedInputBuffer
public SharedInputBuffer(int buffersize, org.apache.http.nio.util.ByteBufferAllocator allocator)
-
-
Method Details
-
reset
public void reset() -
consumeContent
public int consumeContent(org.apache.http.nio.ContentDecoder decoder, org.apache.http.nio.IOControl ioc) throws IOException - Throws:
IOException
-
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
-
waitForData
- Throws:
IOException
-
close
public void close() -
shutdown
public void shutdown() -
isShutdown
protected boolean isShutdown() -
isEndOfStream
protected boolean isEndOfStream() -
read
- Throws:
IOException
-
read
- Throws:
IOException
-
read
- Throws:
IOException
-