public class DoubleBuffer
extends java.lang.Object
DoubleBuffer
instances.DoubleBuffer
is a structure that contains a limited number of doubles.
These elements are ordered in a first-in-first-out (FIFO) manner.Modifier and Type | Field and Description |
---|---|
static int |
DROP_OLDEST_ON_FULL_POLICY
Drop oldest element when buffer is full and an element is added.
|
static int |
SKIP_DATA_ON_FULL_POLICY
When buffer is full, no element can be added.
|
Constructor and Description |
---|
DoubleBuffer(Monitor lock,
int size,
int policy)
Constructs a
DoubleBuffer initialized with a buffer of size elements. |
Modifier and Type | Method and Description |
---|---|
boolean |
add(double d)
Add an element in this buffer.
|
int |
available()
Returns the number of doubles that are stored in this buffer.
This method may be used before calling remove() to know if buffer is empty or not. |
double |
remove()
Remove the oldest element from this buffer and returns it.
This method is not blocking. |
public static final int DROP_OLDEST_ON_FULL_POLICY
public static final int SKIP_DATA_ON_FULL_POLICY
public DoubleBuffer(Monitor lock, int size, int policy)
DoubleBuffer
initialized with a buffer of size
elements.lock
- monitor used to synchronize accesses to the buffer.size
- maximum number of doubles that can be stored in the buffer.policy
- DROP_OLDEST_ON_FULL_POLICY
or SKIP_DATA_ON_FULL_POLICY
public boolean add(double d)
d
- the double to add in the buffer.public double remove()
Double.NaN
if the buffer is empty.public int available()
remove()
to know if buffer is empty or not.