Package org.apache.http.nio.util
Class SimpleInputBuffer
- java.lang.Object
-
- org.apache.http.nio.util.ExpandableBuffer
-
- org.apache.http.nio.util.SimpleInputBuffer
-
- All Implemented Interfaces:
BufferInfo,BufferInfo,ContentInputBuffer
public class SimpleInputBuffer extends ExpandableBuffer implements ContentInputBuffer
Basic implementation of theContentInputBufferinterface.This class is not thread safe.
- Since:
- 4.0
-
-
Field Summary
-
Fields inherited from class org.apache.http.nio.util.ExpandableBuffer
INPUT_MODE, OUTPUT_MODE
-
-
Constructor Summary
Constructors Constructor Description SimpleInputBuffer(int buffersize)SimpleInputBuffer(int buffersize, ByteBufferAllocator allocator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intconsumeContent(ContentDecoder decoder)Reads content from the givenContentDecoderand stores it in this buffer.booleanisEndOfStream()intread()Reads one byte from this buffer.intread(byte[] b)intread(byte[] b, int off, int len)Reads up tolenbytes of data from this buffer into an array of bytes.voidreset()Resets the buffer by clearing its state and stored content.voidshutdown()
-
-
-
Constructor Detail
-
SimpleInputBuffer
public SimpleInputBuffer(int buffersize, ByteBufferAllocator allocator)
-
SimpleInputBuffer
public SimpleInputBuffer(int buffersize)
- Since:
- 4.3
-
-
Method Detail
-
reset
public void reset()
Description copied from interface:ContentInputBufferResets the buffer by clearing its state and stored content.- Specified by:
resetin interfaceContentInputBuffer
-
consumeContent
public int consumeContent(ContentDecoder decoder) throws java.io.IOException
Description copied from interface:ContentInputBufferReads content from the givenContentDecoderand stores it in this buffer.- Specified by:
consumeContentin interfaceContentInputBuffer- Parameters:
decoder- the content decoder.- Returns:
- number of bytes read.
- Throws:
java.io.IOException- in case of an I/O error.
-
isEndOfStream
public boolean isEndOfStream()
-
read
public int read() throws java.io.IOExceptionDescription 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:
java.io.IOException
-
read
public int read(byte[] b, int off, int len) throws java.io.IOExceptionDescription 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:
java.io.IOException- if an I/O error occurs.
-
read
public int read(byte[] b) throws java.io.IOException- Throws:
java.io.IOException
-
shutdown
public void shutdown()
-
-