Class SharedInputBuffer
java.lang.Object
org.apache.hc.core5.http.impl.nio.ExpandableBuffer
org.apache.hc.core5.http.nio.support.classic.SharedInputBuffer
- All Implemented Interfaces:
ContentInputBuffer
@Contract(threading=SAFE)
public final class SharedInputBuffer
extends ExpandableBuffer
implements ContentInputBuffer
- Since:
- 5.0
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
ExpandableBuffer.Mode -
Constructor Summary
ConstructorsConstructorDescriptionSharedInputBuffer(int bufferSize) SharedInputBuffer(ReentrantLock lock, int initialBufferSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidabort()intcapacity()Returns available capacity of this buffer.intfill(ByteBuffer src) booleanhasData()Determines if the buffer contains data.booleanintlength()Returns the length of this buffer.voidintread()Reads one byte from this buffer.intread(byte[] b, int off, int len) Reads up tolenbytes of data from this buffer into an array of bytes.voidreset()voidupdateCapacity(CapacityChannel capacityChannel) Methods inherited from class org.apache.hc.core5.http.impl.nio.ExpandableBuffer
buffer, clear, ensureAdjustedCapacity, ensureCapacity, expand, mode, setInputMode, setOutputMode, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.hc.core5.http.nio.support.classic.ContentInputBuffer
length, reset
-
Constructor Details
-
SharedInputBuffer
-
SharedInputBuffer
public SharedInputBuffer(int bufferSize)
-
-
Method Details
-
fill
-
updateCapacity
- Throws:
IOException
-
read
Description copied from interface:ContentInputBufferReads one byte from this buffer. If the buffer is empty this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns-1if the end of content stream has been reached.- Specified by:
readin interfaceContentInputBuffer- Returns:
- one byte
- Throws:
IOException
-
read
Description copied from interface:ContentInputBufferReads up tolenbytes of data from this buffer into an array of bytes. The exact number of bytes read depends how many bytes are stored in the buffer.If
offis negative, orlenis negative, oroff+lenis greater than the length of the arrayb, this method can throw a runtime exception. The exact type of runtime exception thrown by this method depends on implementation. This method returns-1if the end of content stream has been reached.- Specified by:
readin interfaceContentInputBuffer- Parameters:
b- the buffer into which the data is read.off- the start offset in arraybat which the data is written.len- the maximum number of bytes to read.- Returns:
- the total number of bytes read into the buffer, or
-1if there is no more data because the end of the stream has been reached. - Throws:
IOException- if an I/O error occurs.
-
markEndStream
public void markEndStream() -
hasData
public boolean hasData()Description copied from class:ExpandableBufferDetermines if the buffer contains data.Sets the mode to output.
- Overrides:
hasDatain classExpandableBuffer- Returns:
trueif there is data in the buffer,falseotherwise.
-
capacity
public int capacity()Description copied from class:ExpandableBufferReturns available capacity of this buffer.- Overrides:
capacityin classExpandableBuffer- Returns:
- buffer length.
-
length
public int length()Description copied from class:ExpandableBufferReturns the length of this buffer.Sets the mode to output.
- Overrides:
lengthin classExpandableBuffer- Returns:
- buffer length.
-
abort
public void abort() -
reset
public void reset() -
isEndStream
public boolean isEndStream()
-