Class CircularBuffer<T>

java.lang.Object
org.apache.zookeeper.server.util.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 Details

    • CircularBuffer

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

    • 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()