Class MpscChunkedArrayQueue<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueuePad1<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueProducerFields<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueuePad2<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueConsumerFields<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueuePad3<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueColdProducerFields<E>
-
- com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueue<E>
-
- com.github.benmanes.caffeine.cache.MpscChunkedArrayQueueColdProducerFields<E>
-
- com.github.benmanes.caffeine.cache.MpscChunkedArrayQueue<E>
-
- All Implemented Interfaces:
java.lang.Iterable<E>,java.util.Collection<E>,java.util.Queue<E>
- Direct Known Subclasses:
MpscGrowableArrayQueue
abstract class MpscChunkedArrayQueue<E> extends MpscChunkedArrayQueueColdProducerFields<E>
-
-
Field Summary
Fields Modifier and Type Field Description (package private) longp0(package private) longp1(package private) longp10(package private) longp11(package private) longp12(package private) longp13(package private) longp14(package private) longp15(package private) longp16(package private) longp17(package private) longp2(package private) longp3(package private) longp4(package private) longp5(package private) longp6(package private) longp7-
Fields inherited from class com.github.benmanes.caffeine.cache.MpscChunkedArrayQueueColdProducerFields
maxQueueCapacity
-
Fields inherited from class com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueColdProducerFields
producerBuffer, producerLimit, producerMask
-
Fields inherited from class com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueConsumerFields
consumerBuffer, consumerIndex, consumerMask
-
Fields inherited from class com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueuePad2
p01, p02, p03, p04, p05, p06, p07
-
Fields inherited from class com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueueProducerFields
producerIndex
-
-
Constructor Summary
Constructors Constructor Description MpscChunkedArrayQueue(int initialCapacity, int maxCapacity)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected longavailableInQueue(long pIndex, long cIndex)intcapacity()protected longgetCurrentBufferCapacity(long mask)protected intgetNextBufferSize(E[] buffer)-
Methods inherited from class com.github.benmanes.caffeine.cache.BaseMpscLinkedArrayQueue
allocate, currentConsumerIndex, currentProducerIndex, isEmpty, iterator, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll, 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
-
-
-
-
Method Detail
-
availableInQueue
protected long availableInQueue(long pIndex, long cIndex)- Specified by:
availableInQueuein classBaseMpscLinkedArrayQueue<E>- Returns:
- available elements in queue * 2
-
capacity
public int capacity()
- Specified by:
capacityin classBaseMpscLinkedArrayQueue<E>
-
getNextBufferSize
protected int getNextBufferSize(E[] buffer)
- Specified by:
getNextBufferSizein classBaseMpscLinkedArrayQueue<E>- Returns:
- next buffer size(inclusive of next array pointer)
-
getCurrentBufferCapacity
protected long getCurrentBufferCapacity(long mask)
- Specified by:
getCurrentBufferCapacityin classBaseMpscLinkedArrayQueue<E>- Returns:
- current buffer capacity for elements (excluding next pointer and jump entry) * 2
-
-