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) long
p0
(package private) long
p1
(package private) long
p10
(package private) long
p11
(package private) long
p12
(package private) long
p13
(package private) long
p14
(package private) long
p15
(package private) long
p16
(package private) long
p17
(package private) long
p2
(package private) long
p3
(package private) long
p4
(package private) long
p5
(package private) long
p6
(package private) long
p7
-
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 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
-
-
-
-
Method Detail
-
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
protected int getNextBufferSize(E[] buffer)
- 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
-
-