Package org.apache.zookeeper.server.util
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 Summary
Constructors Constructor Description 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()
-
-