E - public class MpscUnboundedAtomicArrayQueue<E> extends BaseMpscLinkedAtomicArrayQueue<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 |
producerBuffer, producerMaskconsumerBuffer, consumerIndex, consumerMaskp01, p02, p03, p04, p05, p06, p07producerIndexUNBOUNDED_CAPACITY| Constructor and Description |
|---|
MpscUnboundedAtomicArrayQueue(int chunkSize) |
| Modifier and Type | Method and Description |
|---|---|
protected long |
availableInQueue(long pIndex,
long cIndex) |
int |
capacity() |
int |
drain(MessagePassingQueue.Consumer<E> c)
Remove all available item from the queue and hand to consume.
|
int |
fill(MessagePassingQueue.Supplier<E> s)
Stuff the queue with elements from the supplier.
|
protected long |
getCurrentBufferCapacity(long mask) |
protected int |
getNextBufferSize(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer) |
currentConsumerIndex, currentProducerIndex, drain, drain, fill, fill, isEmpty, iterator, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll, size, toStringcasProducerLimit, lvProducerLimit, soProducerLimitlvConsumerIndex, soConsumerIndexcasProducerIndex, lvProducerIndex, soProducerIndexcontains, containsAll, remove, removeAll, retainAll, toArray, toArrayclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitclearlong 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 MpscUnboundedAtomicArrayQueue(int chunkSize)
protected long availableInQueue(long pIndex,
long cIndex)
availableInQueue in class BaseMpscLinkedAtomicArrayQueue<E>public int capacity()
capacity in interface MessagePassingQueue<E>capacity in class BaseMpscLinkedAtomicArrayQueue<E>MessagePassingQueue.UNBOUNDED_CAPACITY if not boundedpublic int drain(MessagePassingQueue.Consumer<E> c)
MessagePassingQueue
M m;
while((m = relaxedPoll()) != null){
c.accept(m);
}
There's no strong commitment to the queue being empty at the end of a drain. Called from a
consumer thread subject to the restrictions appropriate to the implementation.drain in interface MessagePassingQueue<E>drain in class BaseMpscLinkedAtomicArrayQueue<E>public int fill(MessagePassingQueue.Supplier<E> s)
MessagePassingQueue
while(relaxedOffer(s.get());
There's no strong commitment to the queue being full at the end of a fill. Called from a
producer thread subject to the restrictions appropriate to the implementation.fill in interface MessagePassingQueue<E>fill in class BaseMpscLinkedAtomicArrayQueue<E>protected int getNextBufferSize(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer)
getNextBufferSize in class BaseMpscLinkedAtomicArrayQueue<E>protected long getCurrentBufferCapacity(long mask)
getCurrentBufferCapacity in class BaseMpscLinkedAtomicArrayQueue<E>