Package org.jctools.queues.atomic
Class SequencedAtomicReferenceArrayQueue<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- org.jctools.queues.atomic.AtomicReferenceArrayQueue<E>
-
- org.jctools.queues.atomic.SequencedAtomicReferenceArrayQueue<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:
MpmcAtomicArrayQueueL1Pad
,MpmcAtomicUnpaddedArrayQueueL1Pad
public abstract class SequencedAtomicReferenceArrayQueue<E> extends AtomicReferenceArrayQueue<E>
-
-
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 protected java.util.concurrent.atomic.AtomicLongArray
sequenceBuffer
-
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 SequencedAtomicReferenceArrayQueue(int capacity)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected long
calcSequenceOffset(long index)
protected static int
calcSequenceOffset(long index, int mask)
protected long
lvSequence(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
protected void
soSequence(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
-
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, lvProducerIndex
-
Methods inherited from interface org.jctools.queues.MessagePassingQueue
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
-
-
-
-
Method Detail
-
calcSequenceOffset
protected final long calcSequenceOffset(long index)
-
calcSequenceOffset
protected static int calcSequenceOffset(long index, int mask)
-
soSequence
protected final void soSequence(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)
-
lvSequence
protected final long lvSequence(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)
-
-