Package org.jctools.queues
Class IndexedQueueSizeUtil
- java.lang.Object
-
- org.jctools.queues.IndexedQueueSizeUtil
-
public final class IndexedQueueSizeUtil extends java.lang.Object
A note to maintainers on index assumptions: in a single threaded world it would seem intuitive to assume:producerIndex >= consumerIndex
-
consumerIndex > producerIndex
: due to counter overflow (unlikey with longs, but easy to reason) -
consumerIndex > producerIndex
: due to consumer FastFlow like implementation discovering the element before the counter is updated. -
producerIndex - consumerIndex < 0
: due to above. -
producerIndex - consumerIndex > Integer.MAX_VALUE
: as linked buffers allow constructing queues with more thanInteger.MAX_VALUE
elements.
-
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
IndexedQueueSizeUtil.IndexedQueue
-
Constructor Summary
Constructors Constructor Description IndexedQueueSizeUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static boolean
isEmpty(IndexedQueueSizeUtil.IndexedQueue iq)
static int
size(IndexedQueueSizeUtil.IndexedQueue iq)
-
-
-
Method Detail
-
size
public static int size(IndexedQueueSizeUtil.IndexedQueue iq)
-
isEmpty
public static boolean isEmpty(IndexedQueueSizeUtil.IndexedQueue iq)
-
-