Class RollingBuffer<T extends RollingBuffer.Resettable>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  RollingBuffer.Resettable
      Implement to reset an instance
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private T[] buffer  
      private int count  
      private int nextPos  
      private int nextWrite  
    • Constructor Summary

      Constructors 
      Constructor Description
      RollingBuffer()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      void freeBefore​(int pos)  
      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.
      int getBufferSize()
      Returns how many active positions are in the buffer.
      private int getIndex​(int pos)  
      int getMaxPos()
      Returns the maximum position looked up, or -1 if no position has been looked up since reset/init.
      private boolean inBounds​(int pos)  
      protected abstract T newInstance()  
      void reset()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • nextWrite

        private int nextWrite
      • nextPos

        private int nextPos
      • count

        private int count
    • Constructor Detail

      • RollingBuffer

        public RollingBuffer()
    • Method Detail

      • newInstance

        protected abstract T newInstance()
      • reset

        public void reset()
      • inBounds

        private boolean inBounds​(int pos)
      • getIndex

        private int getIndex​(int pos)
      • 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)