Package org.jctools.queues
Class MpscRelaxedArrayQueueProducerCycleClaimFields<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueL0Pad<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueActiveCycleIdField<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueMidPad<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueProducerLimitField<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueL2Pad<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueConsumerPositionField<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueL3Pad<E>
-
- org.jctools.queues.MpscRelaxedArrayQueueProducerCycleClaimFields<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>
,java.util.Collection<E>
,java.util.Queue<E>
- Direct Known Subclasses:
MpscRelaxedArrayQueueL4Pad
abstract class MpscRelaxedArrayQueueProducerCycleClaimFields<E> extends MpscRelaxedArrayQueueL3Pad<E>
-
-
Field Summary
Fields Modifier and Type Field Description private static long
ELEMENT_SHIFT
private static long
P_CYCLE_CLAIM_BASE
protected long
producerFirstCycleClaim
protected long
producerSecondCycleClaim
-
Fields inherited from class org.jctools.queues.MpscRelaxedArrayQueueL3Pad
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.MpscRelaxedArrayQueueConsumerPositionField
consumerPosition
-
-
Constructor Summary
Constructors Constructor Description MpscRelaxedArrayQueueProducerCycleClaimFields()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static long
calcProducerCycleClaimOffset(int index)
protected boolean
casProducerCycleClaim(int cycleIndex, long expectedValue, long newValue)
protected long
getAndIncrementProducerCycleClaim(int cycleIndex)
protected long
lvProducerCycleClaim(int cycleIndex)
protected void
soProducerCycleClaim(int cycleIndex, long value)
-
Methods inherited from class org.jctools.queues.MpscRelaxedArrayQueueConsumerPositionField
lpConsumerPosition, lvConsumerPosition, soConsumerPosition
-
Methods inherited from class org.jctools.queues.MpscRelaxedArrayQueueProducerLimitField
lvProducerLimit, soProducerLimit
-
Methods inherited from class org.jctools.queues.MpscRelaxedArrayQueueActiveCycleIdField
activeCycleIndex, casActiveCycleId, lvActiveCycleId, soActiveCycleId
-
Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Method Detail
-
calcProducerCycleClaimOffset
private static long calcProducerCycleClaimOffset(int index)
-
lvProducerCycleClaim
protected final long lvProducerCycleClaim(int cycleIndex)
-
soProducerCycleClaim
protected final void soProducerCycleClaim(int cycleIndex, long value)
-
getAndIncrementProducerCycleClaim
protected final long getAndIncrementProducerCycleClaim(int cycleIndex)
-
casProducerCycleClaim
protected final boolean casProducerCycleClaim(int cycleIndex, long expectedValue, long newValue)
-
-