Class CircularBuffer<T>


  • public class CircularBuffer<T>
    extends Object
    Thread safe FIFO CircularBuffer implementation. When the buffer is full write operation overwrites the oldest element. Fun thing @todo, make this lock free as this is called on every quorum message
    • Constructor Detail

      • CircularBuffer

        public CircularBuffer​(Class<T> clazz,
                              int capacity)
    • Method Detail

      • write

        public void write​(T element)
        Puts elements in the next available index in the array. If the array is full the oldest element is replaced with the new value.
        Parameters:
        element -
      • take

        public T take()
        Reads from the buffer in a FIFO manner. Returns the oldest element in the buffer if the buffer is not empty Returns null if the buffer is empty
        Returns:
        the oldest element in the buffer
      • peek

        public T peek()
      • size

        public int size()
      • isEmpty

        public boolean isEmpty()
      • isFull

        public boolean isFull()
      • reset

        public void reset()