Class ExpandableBuffer

    • Constructor Summary

      Constructors 
      Constructor Description
      ExpandableBuffer​(int bufferSize, ByteBufferAllocator allocator)
      Allocates buffer of the given size using the given allocator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      Returns available capacity of this buffer.
      int capacity()
      Returns the total capacity of this buffer.
      protected void clear()
      Clears buffer.
      protected void ensureCapacity​(int requiredCapacity)
      Ensures the buffer can accommodate the required capacity.
      protected void expand()
      Expands buffer's capacity.
      private void expandCapacity​(int capacity)  
      protected int getMode()
      Returns the current mode:
      boolean hasData()
      Determines if the buffer contains data.
      int length()
      Returns the length of this buffer.
      protected void setInputMode()
      Sets input mode.
      protected void setOutputMode()
      Sets output mode.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • 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 Detail

      • getMode

        protected int getMode()
        Returns the current mode:

        INPUT_MODE: the buffer is in the input mode.

        OUTPUT_MODE: the buffer is in the output mode.

        Returns:
        current input/output mode.
      • setOutputMode

        protected void setOutputMode()
        Sets output mode. The buffer can now be read from.
      • setInputMode

        protected void setInputMode()
        Sets input mode. The buffer can now be written into.
      • expandCapacity

        private void expandCapacity​(int capacity)
      • expand

        protected void expand()
                       throws java.nio.BufferOverflowException
        Expands buffer's capacity.
        Throws:
        java.nio.BufferOverflowException - in case we get over the maximum allowed value
      • ensureCapacity

        protected void ensureCapacity​(int requiredCapacity)
        Ensures the buffer can accommodate the required capacity.
      • 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.
      • clear

        protected void clear()
        Clears buffer.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object