Class MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields<E>

All Implemented Interfaces:
Iterable<E>, Collection<E>, Queue<E>, IndexedQueueSizeUtil.IndexedQueue
Direct Known Subclasses:
MpscBlockingConsumerVarHandleUnpaddedArrayQueue

abstract class MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields<E> extends MpscBlockingConsumerVarHandleUnpaddedArrayQueuePad3<E>
NOTE: This class was automatically generated by org.jctools.queues.varhandle.unpadded.JavaParsingVarHandleUnpaddedArrayQueueGenerator which can found in the jctools-build module. The original source file is MpscBlockingConsumerArrayQueue.java.
  • Field Details

    • VH_BLOCKED

      private static final VarHandle VH_BLOCKED
    • VH_CONSUMER_INDEX

      private static final VarHandle VH_CONSUMER_INDEX
    • consumerIndex

      private long consumerIndex
    • consumerMask

      protected final long consumerMask
    • blocked

      private volatile Thread blocked
    • consumerBuffer

      protected final E[] consumerBuffer
  • Constructor Details

    • MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields

      MpscBlockingConsumerVarHandleUnpaddedArrayQueueConsumerFields(long mask, E[] buffer)
  • Method Details

    • lvConsumerIndex

      public final long lvConsumerIndex()
    • lpConsumerIndex

      final long lpConsumerIndex()
    • soConsumerIndex

      final void soConsumerIndex(long newValue)
    • lvBlocked

      final Thread lvBlocked()
    • soBlocked

      final void soBlocked(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