Package org.jctools.queues
Class MpmcArrayQueueConsumerIndexField<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
org.jctools.queues.ConcurrentCircularArrayQueueL0Pad<E>
org.jctools.queues.ConcurrentCircularArrayQueue<E>
org.jctools.queues.ConcurrentSequencedCircularArrayQueue<E>
org.jctools.queues.MpmcArrayQueueL1Pad<E>
org.jctools.queues.MpmcArrayQueueProducerIndexField<E>
org.jctools.queues.MpmcArrayQueueL2Pad<E>
org.jctools.queues.MpmcArrayQueueConsumerIndexField<E>
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Queue<E>
,IndexedQueueSizeUtil.IndexedQueue
,MessagePassingQueue<E>
,QueueProgressIndicators
,SupportsIterator
- Direct Known Subclasses:
MpmcArrayQueueL3Pad
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.jctools.queues.MessagePassingQueue
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final long
private long
Fields inherited from class org.jctools.queues.MpmcArrayQueueL2Pad
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
Fields inherited from class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
sequenceBuffer
Fields inherited from class org.jctools.queues.ConcurrentCircularArrayQueue
buffer, mask
Fields inherited from interface org.jctools.queues.MessagePassingQueue
UNBOUNDED_CAPACITY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) final boolean
casConsumerIndex
(long expect, long newValue) final long
Methods inherited from class org.jctools.queues.MpmcArrayQueueProducerIndexField
casProducerIndex, lvProducerIndex
Methods inherited from class org.jctools.queues.ConcurrentCircularArrayQueue
capacity, clear, currentConsumerIndex, currentProducerIndex, isEmpty, iterator, size, toString
Methods inherited from class java.util.AbstractQueue
add, addAll, element, remove
Methods inherited from class java.util.AbstractCollection
contains, containsAll, remove, removeAll, retainAll, toArray, toArray
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, parallelStream, remove, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
Methods inherited from interface org.jctools.queues.MessagePassingQueue
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
-
Field Details
-
C_INDEX_OFFSET
private static final long C_INDEX_OFFSET -
consumerIndex
private volatile long consumerIndex
-
-
Constructor Details
-
MpmcArrayQueueConsumerIndexField
MpmcArrayQueueConsumerIndexField(int capacity)
-
-
Method Details
-
lvConsumerIndex
public final long lvConsumerIndex() -
casConsumerIndex
final boolean casConsumerIndex(long expect, long newValue)
-