Class MonotonicAppendingLongBuffer


  • public final class MonotonicAppendingLongBuffer
    extends LongValues
    Utility class to buffer signed longs in memory, which is optimized for the case where the sequence is monotonic, although it can encode any sequence of arbitrary longs. It only supports appending.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(long l)
      Append a value to this buffer.
      void freeze()
      Pack all pending values in this buffer.
      long get​(long index)
      Get value at index.
      int get​(long index, long[] arr, int off, int len)
      Bulk get: read at least one and at most len longs starting from index into arr[off:off+len] and return the actual number of values that have been read.
      org.apache.lucene.util.packed.AbstractAppendingLongBuffer.Iterator iterator()
      Return an iterator over the values of this buffer.
      long ramBytesUsed()
      Return the number of bytes used by this instance.
      long size()
      Get the number of values that have been added to the buffer.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MonotonicAppendingLongBuffer

        public MonotonicAppendingLongBuffer​(int initialPageCount,
                                            int pageSize,
                                            float acceptableOverheadRatio)
        Parameters:
        initialPageCount - the initial number of pages
        pageSize - the size of a single page
        acceptableOverheadRatio - an acceptable overhead ratio per value
      • MonotonicAppendingLongBuffer

        public MonotonicAppendingLongBuffer​(float acceptableOverheadRatio)
        Create an AppendingDeltaPackedLongBuffer with initialPageCount=16, pageSize=1024
    • Method Detail

      • ramBytesUsed

        public long ramBytesUsed()
        Return the number of bytes used by this instance.
      • size

        public final long size()
        Get the number of values that have been added to the buffer.
      • add

        public final void add​(long l)
        Append a value to this buffer.
      • get

        public final long get​(long index)
        Description copied from class: LongValues
        Get value at index.
        Specified by:
        get in class LongValues
      • get

        public final int get​(long index,
                             long[] arr,
                             int off,
                             int len)
        Bulk get: read at least one and at most len longs starting from index into arr[off:off+len] and return the actual number of values that have been read.
      • iterator

        public org.apache.lucene.util.packed.AbstractAppendingLongBuffer.Iterator iterator()
        Return an iterator over the values of this buffer.
      • freeze

        public void freeze()
        Pack all pending values in this buffer. Subsequent calls to add(long) will fail.