Package org.jctools.queues.varhandle
Class MpscBlockingConsumerVarHandleArrayQueueConsumerFields<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueuePad1<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueueColdProducerFields<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueuePad2<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueueProducerFields<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueuePad3<E>
-
- org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueueConsumerFields<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>,java.util.Collection<E>,java.util.Queue<E>,IndexedQueueSizeUtil.IndexedQueue
- Direct Known Subclasses:
MpscBlockingConsumerVarHandleArrayQueue
abstract class MpscBlockingConsumerVarHandleArrayQueueConsumerFields<E> extends MpscBlockingConsumerVarHandleArrayQueuePad3<E>
NOTE: This class was automatically generated by org.jctools.queues.varhandle.JavaParsingVarHandleArrayQueueGenerator which can found in the jctools-build module. The original source file is MpscBlockingConsumerArrayQueue.java.
-
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Threadblockedprotected E[]consumerBufferprivate longconsumerIndexprotected longconsumerMaskprivate static java.lang.invoke.VarHandleVH_BLOCKEDprivate static java.lang.invoke.VarHandleVH_CONSUMER_INDEX-
Fields inherited from class org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueuePad3
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.varhandle.MpscBlockingConsumerVarHandleArrayQueueColdProducerFields
producerBuffer, producerMask
-
-
Constructor Summary
Constructors Constructor Description MpscBlockingConsumerVarHandleArrayQueueConsumerFields(long mask, E[] buffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) longlpConsumerIndex()(package private) java.lang.ThreadlvBlocked()longlvConsumerIndex()(package private) voidsoBlocked(java.lang.Thread thread)This field should only be written to from the consumer thread.(package private) voidsoConsumerIndex(long newValue)-
Methods inherited from class org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueueProducerFields
casProducerIndex, lvProducerIndex, soProducerIndex
-
Methods inherited from class org.jctools.queues.varhandle.MpscBlockingConsumerVarHandleArrayQueueColdProducerFields
casProducerLimit, lvProducerLimit, soProducerLimit
-
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
-
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Methods inherited from interface org.jctools.queues.IndexedQueueSizeUtil.IndexedQueue
capacity
-
-
-
-
Field Detail
-
VH_BLOCKED
private static final java.lang.invoke.VarHandle VH_BLOCKED
-
VH_CONSUMER_INDEX
private static final java.lang.invoke.VarHandle VH_CONSUMER_INDEX
-
consumerIndex
private long consumerIndex
-
consumerMask
protected final long consumerMask
-
blocked
private volatile java.lang.Thread blocked
-
consumerBuffer
protected final E[] consumerBuffer
-
-
Constructor Detail
-
MpscBlockingConsumerVarHandleArrayQueueConsumerFields
MpscBlockingConsumerVarHandleArrayQueueConsumerFields(long mask, E[] buffer)
-
-
Method Detail
-
lvConsumerIndex
public final long lvConsumerIndex()
-
lpConsumerIndex
final long lpConsumerIndex()
-
soConsumerIndex
final void soConsumerIndex(long newValue)
-
lvBlocked
final java.lang.Thread lvBlocked()
-
soBlocked
final void soBlocked(java.lang.Thread thread)
This field should only be written to from the consumer thread. It is set before parking the consumer and nulled when the consumer is unblocked. The value is read by producer thread to unpark the consumer.- Parameters:
thread- the consumer thread which is blocked waiting for the producers
-
-