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:
Iterable<E>
,Collection<E>
,Queue<E>
- Direct Known Subclasses:
MpscGrowableArrayQueue
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
(package private) long
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected long
availableInQueue
(long pIndex, long cIndex) int
capacity()
protected long
getCurrentBufferCapacity
(long mask) protected int
getNextBufferSize
(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
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, parallelStream, remove, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray
-
Field Details
-
p0
long p0 -
p1
long p1 -
p2
long p2 -
p3
long p3 -
p4
long p4 -
p5
long p5 -
p6
long p6 -
p7
long p7 -
p10
long p10 -
p11
long p11 -
p12
long p12 -
p13
long p13 -
p14
long p14 -
p15
long p15 -
p16
long p16 -
p17
long p17
-
-
Constructor Details
-
MpscChunkedArrayQueue
public MpscChunkedArrayQueue(int initialCapacity, int maxCapacity)
-
-
Method Details
-
availableInQueue
protected long availableInQueue(long pIndex, long cIndex) - Specified by:
availableInQueue
in classBaseMpscLinkedArrayQueue<E>
- Returns:
- available elements in queue * 2
-
capacity
public int capacity()- Specified by:
capacity
in classBaseMpscLinkedArrayQueue<E>
-
getNextBufferSize
- Specified by:
getNextBufferSize
in classBaseMpscLinkedArrayQueue<E>
- Returns:
- next buffer size(inclusive of next array pointer)
-
getCurrentBufferCapacity
protected long getCurrentBufferCapacity(long mask) - Specified by:
getCurrentBufferCapacity
in classBaseMpscLinkedArrayQueue<E>
- Returns:
- current buffer capacity for elements (excluding next pointer and jump entry) * 2
-