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 the ContentInputBuffer interface.

This class is not thread safe.

Since:
4.0
  • Field Details

    • endOfStream

      private boolean endOfStream
  • Constructor Details

    • SimpleInputBuffer

      public SimpleInputBuffer(int bufferSize, ByteBufferAllocator allocator)
    • SimpleInputBuffer

      public SimpleInputBuffer(int bufferSize)
      Since:
      4.3
  • Method Details

    • reset

      public void reset()
      Description copied from interface: ContentInputBuffer
      Resets the buffer by clearing its state and stored content.
      Specified by:
      reset in interface ContentInputBuffer
    • consumeContent

      public int consumeContent(ContentDecoder decoder) throws IOException
      Description copied from interface: ContentInputBuffer
      Reads content from the given ContentDecoder and stores it in this buffer.
      Specified by:
      consumeContent in interface ContentInputBuffer
      Parameters:
      decoder - the content decoder.
      Returns:
      number of bytes read.
      Throws:
      IOException - in case of an I/O error.
    • isEndOfStream

      public boolean isEndOfStream()
    • read

      public int read() throws IOException
      Description copied from interface: ContentInputBuffer
      Reads 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 -1 if the end of content stream has been reached.
      Specified by:
      read in interface ContentInputBuffer
      Returns:
      one byte
      Throws:
      IOException
    • read

      public int read(byte[] b, int off, int len) throws IOException
      Description copied from interface: ContentInputBuffer
      Reads up to len bytes 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 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 type of runtime exception thrown by this method depends on implementation. This method returns -1 if the end of content stream has been reached.

      Specified by:
      read in interface ContentInputBuffer
      Parameters:
      b - the buffer into which the data is read.
      off - the start offset in array b at which the data is written.
      len - the maximum number of bytes to read.
      Returns:
      the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
      Throws:
      IOException - if an I/O error occurs.
    • read

      public int read(byte[] b) throws IOException
      Throws:
      IOException
    • shutdown

      public void shutdown()