Class ExpandableBuffer

java.lang.Object
org.apache.http.nio.util.ExpandableBuffer
All Implemented Interfaces:
BufferInfo, BufferInfo
Direct Known Subclasses:
SessionInputBufferImpl, SessionOutputBufferImpl, SharedInputBuffer, SharedOutputBuffer, SimpleInputBuffer, SimpleOutputBuffer

public class ExpandableBuffer extends Object implements BufferInfo, BufferInfo
A buffer that expand its capacity on demand using ByteBufferAllocator interface. Internally, this class is backed by an instance of ByteBuffer.

This class is not thread safe.

Since:
4.0
  • Field Details

  • Constructor Details

    • ExpandableBuffer

      public ExpandableBuffer(int buffersize, ByteBufferAllocator allocator)
      Allocates buffer of the given size using the given allocator.
      Parameters:
      buffersize - the buffer size.
      allocator - allocator to be used to allocate ByteBuffers.
  • Method Details

    • capacity

      public int capacity()
      Returns the total capacity of this buffer.
      Specified by:
      capacity in interface BufferInfo
      Specified by:
      capacity in interface BufferInfo
      Returns:
      total capacity.
    • hasData

      public boolean hasData()
      Determines if the buffer contains data.
      Returns:
      true if there is data in the buffer, false otherwise.
    • length

      public int length()
      Returns the length of this buffer.
      Specified by:
      length in interface BufferInfo
      Specified by:
      length in interface BufferInfo
      Returns:
      buffer length.
    • available

      public int available()
      Returns available capacity of this buffer.
      Specified by:
      available in interface BufferInfo
      Specified by:
      available in interface BufferInfo
      Returns:
      buffer length.
    • toString

      public String toString()
      Overrides:
      toString in class Object