public class ConcurrentCircularFifoBuffer<T> extends java.lang.Object implements CircularFifoBuffer<T>
CircularFifoBuffer on top of ConcurrentEvictingQueue| Constructor and Description |
|---|
ConcurrentCircularFifoBuffer(int capacity)
Creates an
ConcurrentCircularFifoBuffer with the given (fixed)
capacity |
| Modifier and Type | Method and Description |
|---|---|
void |
add(T element)
Adds element to the
CircularFifoBuffer
and overwrites the oldest element when CircularFifoBuffer.isFull(). |
boolean |
isEmpty()
Returns true if this
CircularFifoBuffer contains no elements. |
boolean |
isFull()
Returns true if this
CircularFifoBuffer is full. |
int |
size()
Returns the number of elements in this
CircularFifoBuffer. |
io.vavr.control.Option<T> |
take()
Retrieves and removes the head of this queue,
or returns
Option.None if this queue is empty. |
io.vavr.collection.List<T> |
toList()
Returns a list containing all of the elements in this
CircularFifoBuffer. |
public ConcurrentCircularFifoBuffer(int capacity)
ConcurrentCircularFifoBuffer with the given (fixed)
capacitycapacity - the capacity of this ConcurrentCircularFifoBufferjava.lang.IllegalArgumentException - if capacity < 1public int size()
CircularFifoBuffer.size in interface CircularFifoBuffer<T>CircularFifoBufferpublic boolean isEmpty()
CircularFifoBuffer contains no elements.isEmpty in interface CircularFifoBuffer<T>CircularFifoBuffer contains no elementspublic boolean isFull()
CircularFifoBuffer is full.isFull in interface CircularFifoBuffer<T>CircularFifoBuffer is fullpublic io.vavr.collection.List<T> toList()
CircularFifoBuffer.
The elements are copied into an array.toList in interface CircularFifoBuffer<T>CircularFifoBufferpublic void add(T element)
CircularFifoBuffer
and overwrites the oldest element when CircularFifoBuffer.isFull().add in interface CircularFifoBuffer<T>element - to addpublic io.vavr.control.Option<T> take()
Option.None if this queue is empty.take in interface CircularFifoBuffer<T>Option.None if this queue is empty