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
  • Constructor Details

    • SharedInputBuffer

      public SharedInputBuffer(ReentrantLock lock, int initialBufferSize)
    • SharedInputBuffer

      public SharedInputBuffer(int bufferSize)
  • Method Details

    • fill

      public int fill(ByteBuffer src)
    • updateCapacity

      public void updateCapacity(CapacityChannel capacityChannel) throws IOException
      Throws:
      IOException
    • 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.
    • markEndStream

      public void markEndStream()
    • hasData

      public boolean hasData()
      Description copied from class: ExpandableBuffer
      Determines if the buffer contains data.

      Sets the mode to output.

      Overrides:
      hasData in class ExpandableBuffer
      Returns:
      true if there is data in the buffer, false otherwise.
    • capacity

      public int capacity()
      Description copied from class: ExpandableBuffer
      Returns available capacity of this buffer.
      Overrides:
      capacity in class ExpandableBuffer
      Returns:
      buffer length.
    • length

      public int length()
      Description copied from class: ExpandableBuffer
      Returns the length of this buffer.

      Sets the mode to output.

      Overrides:
      length in class ExpandableBuffer
      Returns:
      buffer length.
    • abort

      public void abort()
    • reset

      public void reset()
    • isEndStream

      public boolean isEndStream()