E - public class SpscUnboundedUnpaddedArrayQueue<E> extends BaseSpscLinkedUnpaddedArrayQueue<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategyproducerBuffer, producerBufferLimit, producerMaskconsumerBuffer, consumerMaskUNBOUNDED_CAPACITY| Constructor and Description |
|---|
SpscUnboundedUnpaddedArrayQueue(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(E[] buffer,
long mask,
long pIndex,
long 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, writeToQueuelpProducerIndex, lvProducerIndex, soProducerIndexlpConsumerIndex, lvConsumerIndex, soConsumerIndexcontains, containsAll, remove, removeAll, retainAll, toArray, toArrayclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitclearpublic SpscUnboundedUnpaddedArrayQueue(int chunkSize)
final boolean offerColdPath(E[] buffer, long mask, long pIndex, long offset, E v, MessagePassingQueue.Supplier<? extends E> s)
offerColdPath in class BaseSpscLinkedUnpaddedArrayQueue<E>public int fill(MessagePassingQueue.Supplier<E> s)
MessagePassingQueuewhile(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 BaseSpscLinkedUnpaddedArrayQueue<E>public int capacity()
MessagePassingQueue.UNBOUNDED_CAPACITY if not bounded