Package org.jctools.queues.atomic
Class SpscAtomicArrayQueueProducerIndexFields<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- org.jctools.queues.atomic.AtomicReferenceArrayQueue<E>
-
- org.jctools.queues.atomic.SpscAtomicArrayQueueColdField<E>
-
- org.jctools.queues.atomic.SpscAtomicArrayQueueL1Pad<E>
-
- org.jctools.queues.atomic.SpscAtomicArrayQueueProducerIndexFields<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.Queue<E>
,IndexedQueueSizeUtil.IndexedQueue
,MessagePassingQueue<E>
,QueueProgressIndicators
,SupportsIterator
- Direct Known Subclasses:
SpscAtomicArrayQueueL2Pad
abstract class SpscAtomicArrayQueueProducerIndexFields<E> extends SpscAtomicArrayQueueL1Pad<E>
NOTE: This class was automatically generated by org.jctools.queues.atomic.JavaParsingAtomicArrayQueueGenerator which can found in the jctools-build module. The original source file is SpscArrayQueue.java.
-
-
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
Fields Modifier and Type Field Description private static java.util.concurrent.atomic.AtomicLongFieldUpdater<SpscAtomicArrayQueueProducerIndexFields>
P_INDEX_UPDATER
private long
producerIndex
protected long
producerLimit
-
Fields inherited from class org.jctools.queues.atomic.SpscAtomicArrayQueueL1Pad
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.atomic.SpscAtomicArrayQueueColdField
lookAheadStep, MAX_LOOK_AHEAD_STEP
-
Fields inherited from class org.jctools.queues.atomic.AtomicReferenceArrayQueue
buffer, mask
-
Fields inherited from interface org.jctools.queues.MessagePassingQueue
UNBOUNDED_CAPACITY
-
-
Constructor Summary
Constructors Constructor Description SpscAtomicArrayQueueProducerIndexFields(int capacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) long
lpProducerIndex()
long
lvProducerIndex()
(package private) void
soProducerIndex(long newValue)
-
Methods inherited from class org.jctools.queues.atomic.AtomicReferenceArrayQueue
capacity, clear, currentConsumerIndex, currentProducerIndex, isEmpty, iterator, size, toString
-
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.IndexedQueueSizeUtil.IndexedQueue
lvConsumerIndex
-
Methods inherited from interface org.jctools.queues.MessagePassingQueue
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
-
-
-
-
Field Detail
-
P_INDEX_UPDATER
private static final java.util.concurrent.atomic.AtomicLongFieldUpdater<SpscAtomicArrayQueueProducerIndexFields> P_INDEX_UPDATER
-
producerIndex
private volatile long producerIndex
-
producerLimit
protected long producerLimit
-
-