Class RollingBuffer<T extends RollingBuffer.Resettable>


  • public abstract class RollingBuffer<T extends RollingBuffer.Resettable>
    extends Object
    Acts like forever growing T[], but internally uses a circular buffer to reuse instances of T.
    NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.
    • Constructor Detail

      • RollingBuffer

        public RollingBuffer()
    • Method Detail

      • newInstance

        protected abstract T newInstance()
      • reset

        public void reset()
      • get

        public T get​(int pos)
        Get T instance for this absolute position; this is allowed to be arbitrarily far "in the future" but cannot be before the last freeBefore.
      • getMaxPos

        public int getMaxPos()
        Returns the maximum position looked up, or -1 if no position has been looked up since reset/init.
      • getBufferSize

        public int getBufferSize()
        Returns how many active positions are in the buffer.
      • freeBefore

        public void freeBefore​(int pos)