E
- public class MpscChunkedArrayQueue<E> extends MpscChunkedArrayQueueColdProducerFields<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
Modifier and Type | Field and Description |
---|---|
(package private) long |
p0 |
(package private) long |
p1 |
(package private) long |
p10 |
(package private) long |
p11 |
(package private) long |
p12 |
(package private) long |
p13 |
(package private) long |
p14 |
(package private) long |
p15 |
(package private) long |
p16 |
(package private) long |
p17 |
(package private) long |
p2 |
(package private) long |
p3 |
(package private) long |
p4 |
(package private) long |
p5 |
(package private) long |
p6 |
(package private) long |
p7 |
maxQueueCapacity
producerBuffer, producerMask
consumerBuffer, consumerIndex, consumerMask
p01, p02, p03, p04, p05, p06, p07
producerIndex
UNBOUNDED_CAPACITY
Constructor and Description |
---|
MpscChunkedArrayQueue(int maxCapacity) |
MpscChunkedArrayQueue(int initialCapacity,
int maxCapacity) |
Modifier and Type | Method and Description |
---|---|
protected long |
availableInQueue(long pIndex,
long cIndex) |
int |
capacity() |
protected long |
getCurrentBufferCapacity(long mask) |
protected int |
getNextBufferSize(E[] buffer) |
currentConsumerIndex, currentProducerIndex, drain, drain, drain, fill, fill, fill, isEmpty, iterator, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll, size, toString
casProducerLimit, lvProducerLimit, soProducerLimit
lvConsumerIndex, soConsumerIndex
casProducerIndex, lvProducerIndex, soProducerIndex
contains, containsAll, remove, removeAll, retainAll, toArray, toArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
clear
long p0
long p1
long p2
long p3
long p4
long p5
long p6
long p7
long p10
long p11
long p12
long p13
long p14
long p15
long p16
long p17
public MpscChunkedArrayQueue(int maxCapacity)
public MpscChunkedArrayQueue(int initialCapacity, int maxCapacity)
initialCapacity
- the queue initial capacity. If chunk size is fixed this will be the chunk size.
Must be 2 or more.maxCapacity
- the maximum capacity will be rounded up to the closest power of 2 and will be the
upper limit of number of elements in this queue. Must be 4 or more and round up to a larger
power of 2 than initialCapacity.protected long availableInQueue(long pIndex, long cIndex)
availableInQueue
in class BaseMpscLinkedArrayQueue<E>
public int capacity()
capacity
in interface MessagePassingQueue<E>
capacity
in class BaseMpscLinkedArrayQueue<E>
MessagePassingQueue.UNBOUNDED_CAPACITY
if not boundedprotected int getNextBufferSize(E[] buffer)
getNextBufferSize
in class BaseMpscLinkedArrayQueue<E>
protected long getCurrentBufferCapacity(long mask)
getCurrentBufferCapacity
in class BaseMpscLinkedArrayQueue<E>