E
- public class SpscUnboundedAtomicArrayQueue<E> extends BaseSpscLinkedAtomicArrayQueue<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
producerBuffer, producerBufferLimit, producerMask
b000, b001, b002, b003, b004, b005, b006, b007, b010, b011, b012, b013, b014, b015, b016, b017, b020, b021, b022, b023, b024, b025, b026, b027, b030, b031, b032, b033, b034, b035, b036, b037, b040, b041, b042, b043, b044, b045, b046, b047, b050, b051, b052, b053, b054, b055, b056, b057, b060, b061, b062, b063, b064, b065, b066, b067, b070, b071, b072, b073, b074, b075, b076, b077, b100, b101, b102, b103, b104, b105, b106, b107, b110, b111, b112, b113, b114, b115, b116, b117, b120, b121, b122, b123, b124, b125, b126, b127, b130, b131, b132, b133, b134, b135, b136, b137, b140, b141, b142, b143, b144, b145, b146, b147, b150, b151, b152, b153, b154, b155, b156, b157, b160, b161, b162, b163, b164, b165, b166, b167, b170, b171, b172, b173, b174, b175, b176, b177
consumerBuffer, consumerMask
UNBOUNDED_CAPACITY
Constructor and Description |
---|
SpscUnboundedAtomicArrayQueue(int chunkSize) |
Modifier and Type | Method and Description |
---|---|
int |
capacity() |
int |
fill(MessagePassingQueue.Supplier<E> s)
Stuff the queue with elements from the supplier.
|
(package private) boolean |
offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
long mask,
long pIndex,
int offset,
E v,
MessagePassingQueue.Supplier<? extends E> s) |
currentConsumerIndex, currentProducerIndex, drain, drain, drain, fill, fill, isEmpty, iterator, linkOldToNew, lvNextArrayAndUnlink, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll, size, soNext, toString, writeToQueue
lpProducerIndex, lvProducerIndex, soProducerIndex
lpConsumerIndex, lvConsumerIndex, soConsumerIndex
contains, containsAll, remove, removeAll, retainAll, toArray, toArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
clear
public SpscUnboundedAtomicArrayQueue(int chunkSize)
final boolean offerColdPath(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, long mask, long pIndex, int offset, E v, MessagePassingQueue.Supplier<? extends E> s)
offerColdPath
in class BaseSpscLinkedAtomicArrayQueue<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.
Unbounded queues will fill up the queue with a fixed amount rather than fill up to oblivion.
WARNING: Explicit assumptions are made with regards to MessagePassingQueue.Supplier.get()
make sure you have read
and understood these before using this method.
fill
in interface MessagePassingQueue<E>
fill
in class BaseSpscLinkedAtomicArrayQueue<E>
public int capacity()
MessagePassingQueue.UNBOUNDED_CAPACITY
if not bounded