Skip navigation links
A B C D F G I J K L M N O P Q R S U V W X 

A

accept(T) - Method in interface org.jctools.queues.MessagePassingQueue.Consumer
This method will process an element already removed from the queue.
align(long, int) - Static method in class org.jctools.util.Pow2
Align a value to the next multiple up of alignment.
allocate(int) - Static method in class org.jctools.queues.CircularArrayOffsetCalculator
 
allocate(int) - Static method in class org.jctools.queues.PaddedCircularArrayOffsetCalculator
 
allocate(int) - Static method in class org.jctools.queues.SparsePaddedCircularArrayOffsetCalculator
 
AtomicQueueFactory - Class in org.jctools.queues.atomic
The queue factory produces Queue instances based on a best fit to the ConcurrentQueueSpec.
AtomicQueueFactory() - Constructor for class org.jctools.queues.atomic.AtomicQueueFactory
 

B

buffer - Variable in class org.jctools.queues.ConcurrentCircularArrayQueue
 

C

CACHE_LINE_SIZE - Static variable in interface org.jctools.util.JvmInfo
 
calcElementOffset(long, long) - Static method in class org.jctools.queues.CircularArrayOffsetCalculator
 
calcElementOffset(long) - Method in class org.jctools.queues.ConcurrentCircularArrayQueue
 
calcElementOffset(long, long) - Static method in class org.jctools.queues.ConcurrentCircularArrayQueue
 
calcElementOffset(long, long) - Static method in class org.jctools.queues.PaddedCircularArrayOffsetCalculator
 
calcElementOffset(long, long) - Static method in class org.jctools.queues.SparsePaddedCircularArrayOffsetCalculator
 
calcElementOffset(long) - Static method in class org.jctools.util.UnsafeRefArrayAccess
 
calcSequenceOffset(long) - Method in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
calcSequenceOffset(long, long) - Static method in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
capacity() - Method in class org.jctools.queues.ConcurrentCircularArrayQueue
 
capacity() - Method in interface org.jctools.queues.MessagePassingQueue
 
capacity() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
capacity() - Method in class org.jctools.queues.MpscCompoundQueue
 
capacity - Variable in class org.jctools.queues.spec.ConcurrentQueueSpec
 
casConsumerIndex(long, long) - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
casHead(long, long) - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
casProducerIndex(long, long) - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
casProducerIndex(long, long) - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
CircularArrayOffsetCalculator - Class in org.jctools.queues
 
clear() - Method in class org.jctools.queues.ConcurrentCircularArrayQueue
 
clear() - Method in interface org.jctools.queues.MessagePassingQueue
Removes all items from the queue.
ConcurrentCircularArrayQueue<E> - Class in org.jctools.queues
A concurrent access enabling class used by circular array based queues this class exposes an offset computation method along with differently memory fenced load/store methods into the underlying array.
ConcurrentCircularArrayQueue(int) - Constructor for class org.jctools.queues.ConcurrentCircularArrayQueue
 
ConcurrentQueueSpec - Class in org.jctools.queues.spec
 
ConcurrentQueueSpec(int, int, int, Ordering, Preference) - Constructor for class org.jctools.queues.spec.ConcurrentQueueSpec
 
ConcurrentSequencedCircularArrayQueue<E> - Class in org.jctools.queues
 
ConcurrentSequencedCircularArrayQueue(int) - Constructor for class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
consumerBuffer - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
consumerIndex - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
consumerMask - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
consumers - Variable in class org.jctools.queues.spec.ConcurrentQueueSpec
 
CPUs - Static variable in interface org.jctools.util.JvmInfo
 
createBoundedMpmc(int) - Static method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
createBoundedMpsc(int) - Static method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
createBoundedSpmc(int) - Static method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
createBoundedSpsc(int) - Static method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
currentConsumerIndex() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.MpmcArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.MpscArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
currentConsumerIndex() - Method in interface org.jctools.queues.QueueProgressIndicators
This method has no concurrent visibility semantics.
currentConsumerIndex() - Method in class org.jctools.queues.SpmcArrayQueue
 
currentConsumerIndex() - Method in class org.jctools.queues.SpscArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.MpmcArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.MpscArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
currentProducerIndex() - Method in interface org.jctools.queues.QueueProgressIndicators
This method has no concurrent visibility semantics.
currentProducerIndex() - Method in class org.jctools.queues.SpmcArrayQueue
 
currentProducerIndex() - Method in class org.jctools.queues.SpscArrayQueue
 

D

drain(MessagePassingQueue.Consumer<T>) - Method in interface org.jctools.queues.MessagePassingQueue
Remove all available item from the queue and hand to consume.
drain(MessagePassingQueue.Consumer<T>, int) - Method in interface org.jctools.queues.MessagePassingQueue
Remove up to limit elements from the queue and hand to consume.
drain(MessagePassingQueue.Consumer<T>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in interface org.jctools.queues.MessagePassingQueue
Remove elements from the queue and hand to consume forever.
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.MpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.MpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.MpscArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.MpscArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.MpscCompoundQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.MpscCompoundQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscCompoundQueue
 
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.SpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.SpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.SpmcArrayQueue
 
drain(MessagePassingQueue.Consumer<E>) - Method in class org.jctools.queues.SpscArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, int) - Method in class org.jctools.queues.SpscArrayQueue
 
drain(MessagePassingQueue.Consumer<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.SpscArrayQueue
 

F

failFastOffer(E) - Method in class org.jctools.queues.MpscArrayQueue
A wait free alternative to offer which fails on CAS failure.
fill(MessagePassingQueue.Supplier<T>) - Method in interface org.jctools.queues.MessagePassingQueue
Stuff the queue with elements from the supplier.
fill(MessagePassingQueue.Supplier<T>, int) - Method in interface org.jctools.queues.MessagePassingQueue
Stuff the queue with up to limit elements from the supplier.
fill(MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in interface org.jctools.queues.MessagePassingQueue
Stuff the queue with elements from the supplier forever.
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.MpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.MpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.MpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.MpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.MpscCompoundQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.MpscCompoundQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.MpscCompoundQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.SpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.SpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.SpmcArrayQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.SpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.SpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.SpscArrayQueue
 
fill(MessagePassingQueue.Supplier<E>) - Method in class org.jctools.queues.SpscLinkedQueue
 
fill(MessagePassingQueue.Supplier<E>, int) - Method in class org.jctools.queues.SpscLinkedQueue
 
fill(MessagePassingQueue.Supplier<E>, MessagePassingQueue.WaitStrategy, MessagePassingQueue.ExitCondition) - Method in class org.jctools.queues.SpscLinkedQueue
 

G

get() - Method in interface org.jctools.queues.MessagePassingQueue.Supplier
This method will return the next value to be written to the queue.
getAndNullValue() - Method in class org.jctools.queues.atomic.LinkedQueueAtomicNode
Gets the current value and nulls out the reference to it from this node.
getCurrentBufferCapacity(long, long) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 

I

idle(int) - Method in interface org.jctools.queues.MessagePassingQueue.WaitStrategy
This method can implement static or dynamic backoff.
isBounded() - Method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
isEmpty() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
isEmpty() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
isEmpty() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
isEmpty() - Method in interface org.jctools.queues.MessagePassingQueue
This method's accuracy is subject to concurrent modifications happening as the observation is carried out.
isEmpty() - Method in class org.jctools.queues.MpmcArrayQueue
 
isEmpty() - Method in class org.jctools.queues.MpscArrayQueue
 
isEmpty() - Method in class org.jctools.queues.SpmcArrayQueue
 
isMpmc() - Method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
isMpsc() - Method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
isPowerOfTwo(int) - Static method in class org.jctools.util.Pow2
 
isSpmc() - Method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
isSpsc() - Method in class org.jctools.queues.spec.ConcurrentQueueSpec
 
iterator() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
iterator() - Method in class org.jctools.queues.ConcurrentCircularArrayQueue
 
iterator() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
iterator() - Method in class org.jctools.queues.MpscCompoundQueue
 

J

JvmInfo - Interface in org.jctools.util
 

K

keepRunning() - Method in interface org.jctools.queues.MessagePassingQueue.ExitCondition
This method should be implemented such that the flag read or determination cannot be hoisted out of a loop which notmally means a volatile load, but with JDK9 VarHandles may mean getOpaque.

L

LinkedQueueAtomicNode<E> - Class in org.jctools.queues.atomic
 
lpElement(E[], long) - Static method in class org.jctools.util.UnsafeRefArrayAccess
A plain load (no ordering/fences) of an element from a given offset.
lpValue() - Method in class org.jctools.queues.atomic.LinkedQueueAtomicNode
 
lvConsumerIndex() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
lvConsumerIndex() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
lvConsumerIndexCache() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
lvElement(E[], long) - Static method in class org.jctools.util.UnsafeRefArrayAccess
A volatile load (load + LoadLoad barrier) of an element from a given offset.
lvNext() - Method in class org.jctools.queues.atomic.LinkedQueueAtomicNode
 
lvProducerIndex() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
lvProducerIndex() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
lvProducerIndexCache() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
lvSequence(long[], long) - Method in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 

M

mask - Variable in class org.jctools.queues.ConcurrentCircularArrayQueue
 
MAX_POW2 - Static variable in class org.jctools.util.Pow2
 
MessagePassingQueue<T> - Interface in org.jctools.queues
This is a tagging interface for the queues in this library which implement a subset of the Queue interface sufficient for concurrent message passing.
Message passing queues provide happens before semantics to messages passed through, namely that writes made by the producer before offering the message are visible to the consuming thread after the message has been polled out of the queue.
MessagePassingQueue.Consumer<T> - Interface in org.jctools.queues
 
MessagePassingQueue.ExitCondition - Interface in org.jctools.queues
 
MessagePassingQueue.Supplier<T> - Interface in org.jctools.queues
 
MessagePassingQueue.WaitStrategy - Interface in org.jctools.queues
 
MpmcArrayQueue<E> - Class in org.jctools.queues
A Multi-Producer-Multi-Consumer queue based on a ConcurrentCircularArrayQueue.
MpmcArrayQueue(int) - Constructor for class org.jctools.queues.MpmcArrayQueue
 
MpmcAtomicArrayQueue<E> - Class in org.jctools.queues.atomic
 
MpmcAtomicArrayQueue(int) - Constructor for class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
MpscArrayQueue<E> - Class in org.jctools.queues
A Multi-Producer-Single-Consumer queue based on a ConcurrentCircularArrayQueue.
MpscArrayQueue(int) - Constructor for class org.jctools.queues.MpscArrayQueue
 
MpscAtomicArrayQueue<E> - Class in org.jctools.queues.atomic
A Multi-Producer-Single-Consumer queue based on a AtomicReferenceArrayQueue.
MpscAtomicArrayQueue(int) - Constructor for class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
MpscChunkedArrayQueue<E> - Class in org.jctools.queues
An MPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks of the initial size.
MpscChunkedArrayQueue(int) - Constructor for class org.jctools.queues.MpscChunkedArrayQueue
 
MpscChunkedArrayQueue(int, int, boolean) - Constructor for class org.jctools.queues.MpscChunkedArrayQueue
 
MpscCompoundQueue<E> - Class in org.jctools.queues
 
MpscCompoundQueue(int) - Constructor for class org.jctools.queues.MpscCompoundQueue
 
MpscCompoundQueue(int, int) - Constructor for class org.jctools.queues.MpscCompoundQueue
 
MpscLinkedAtomicQueue<E> - Class in org.jctools.queues.atomic
This is a direct Java port of the MPSC algorithm as presented on 1024 Cores by D.
MpscLinkedAtomicQueue() - Constructor for class org.jctools.queues.atomic.MpscLinkedAtomicQueue
 
MpscLinkedQueue7<E> - Class in org.jctools.queues
 
MpscLinkedQueue7() - Constructor for class org.jctools.queues.MpscLinkedQueue7
 
MpscLinkedQueue8<E> - Class in org.jctools.queues
 
MpscLinkedQueue8() - Constructor for class org.jctools.queues.MpscLinkedQueue8
 

N

newQueue(ConcurrentQueueSpec) - Static method in class org.jctools.queues.atomic.AtomicQueueFactory
 
newQueue(ConcurrentQueueSpec) - Static method in class org.jctools.queues.QueueFactory
 

O

offer(E) - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
offer(E) - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue

IMPLEMENTATION NOTES:
Lock free offer using a single CAS.
offer(E) - Method in class org.jctools.queues.atomic.MpscLinkedAtomicQueue

offer(E) - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
offer(E) - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
offer(E) - Method in class org.jctools.queues.atomic.SpscLinkedAtomicQueue

IMPLEMENTATION NOTES:
Offer is allowed from a SINGLE thread.
Offer allocates a new node (holding the offered value) and: Sets that node as the producerNode.next Sets the new node as the producerNode From this follows that producerNode.next is always null and for all other nodes node.next is not null.
offer(E) - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
offer(T) - Method in interface org.jctools.queues.MessagePassingQueue
Called from a producer thread subject to the restrictions appropriate to the implementation and according to the Queue.offer(Object) interface.
offer(E) - Method in class org.jctools.queues.MpmcArrayQueue
 
offer(E) - Method in class org.jctools.queues.MpscArrayQueue
Called from a producer thread subject to the restrictions appropriate to the implementation and according to the Queue.offer(Object) interface.
offer(E) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
offer(E) - Method in class org.jctools.queues.MpscCompoundQueue
 
offer(E) - Method in class org.jctools.queues.SpmcArrayQueue
 
offer(E) - Method in class org.jctools.queues.SpscArrayQueue
Called from a producer thread subject to the restrictions appropriate to the implementation and according to the Queue.offer(Object) interface.
offer(E) - Method in class org.jctools.queues.SpscLinkedQueue
Called from a producer thread subject to the restrictions appropriate to the implementation and according to the Queue.offer(Object) interface.
offerColdPath(E[], long, E, long, long) - Method in class org.jctools.queues.SpscGrowableArrayQueue
 
offerColdPath(E[], long, E, long, long) - Method in class org.jctools.queues.SpscUnboundedArrayQueue
 
offerIfBelowThreshold(E, int) - Method in class org.jctools.queues.MpscArrayQueue
MpscArrayQueue#offer(E)} if MpscArrayQueue.size() is less than threshold.
ordering - Variable in class org.jctools.queues.spec.ConcurrentQueueSpec
 
Ordering - Enum in org.jctools.queues.spec
 
org.jctools.queues - package org.jctools.queues
This package aims to fill a gap in current JDK implementations in offering lock free (wait free where possible) queues for inter-thread message passing with finer grained guarantees and an emphasis on performance.
At the time of writing the only lock free queue available in the JDK is ConcurrentLinkedQueue which is an unbounded multi-producer, multi-consumer queue which is further encumbered by the need to implement the full range of Queue methods.
org.jctools.queues.atomic - package org.jctools.queues.atomic
 
org.jctools.queues.spec - package org.jctools.queues.spec
 
org.jctools.util - package org.jctools.util
 

P

PaddedCircularArrayOffsetCalculator - Class in org.jctools.queues
 
PAGE_SIZE - Static variable in interface org.jctools.util.JvmInfo
 
peek() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
peek() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
peek() - Method in class org.jctools.queues.atomic.MpscLinkedAtomicQueue
 
peek() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
peek() - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
peek() - Method in class org.jctools.queues.atomic.SpscLinkedAtomicQueue
 
peek() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
peek() - Method in interface org.jctools.queues.MessagePassingQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.peek() interface.
peek() - Method in class org.jctools.queues.MpmcArrayQueue
 
peek() - Method in class org.jctools.queues.MpscArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.peek() interface.
peek() - Method in class org.jctools.queues.MpscChunkedArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.peek() interface.
peek() - Method in class org.jctools.queues.MpscCompoundQueue
 
peek() - Method in class org.jctools.queues.SpmcArrayQueue
 
peek() - Method in class org.jctools.queues.SpscArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.peek() interface.
peek() - Method in class org.jctools.queues.SpscLinkedQueue
 
poll() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
poll() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
poll() - Method in class org.jctools.queues.atomic.MpscLinkedAtomicQueue

poll() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
poll() - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
poll() - Method in class org.jctools.queues.atomic.SpscLinkedAtomicQueue

IMPLEMENTATION NOTES:
Poll is allowed from a SINGLE thread.
Poll reads the next node from the consumerNode and: If it is null, the queue is empty.
poll() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
poll() - Method in interface org.jctools.queues.MessagePassingQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
poll() - Method in class org.jctools.queues.MpmcArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
poll() - Method in class org.jctools.queues.MpscArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
poll() - Method in class org.jctools.queues.MpscChunkedArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
poll() - Method in class org.jctools.queues.MpscCompoundQueue
 
poll() - Method in class org.jctools.queues.SpmcArrayQueue
 
poll() - Method in class org.jctools.queues.SpscArrayQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
poll() - Method in class org.jctools.queues.SpscLinkedQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation and according to the Queue.poll() interface.
Pow2 - Class in org.jctools.util
Power of 2 utility functions.
preference - Variable in class org.jctools.queues.spec.ConcurrentQueueSpec
 
Preference - Enum in org.jctools.queues.spec
 
producerBuffer - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
producerIndex - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
producerLookAhead - Variable in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
producerLookAhead - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
producerLookAheadStep - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
producerMask - Variable in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
producers - Variable in class org.jctools.queues.spec.ConcurrentQueueSpec
 

Q

QueueFactory - Class in org.jctools.queues
The queue factory produces Queue instances based on a best fit to the ConcurrentQueueSpec.
QueueFactory() - Constructor for class org.jctools.queues.QueueFactory
 
QueueProgressIndicators - Interface in org.jctools.queues
This interface is provided for monitoring purposes only and is only available on queues where it is easy to provide it.

R

REF_ARRAY_BASE - Static variable in class org.jctools.util.UnsafeRefArrayAccess
 
REF_ELEMENT_SHIFT - Static variable in class org.jctools.util.UnsafeRefArrayAccess
 
relaxedOffer(T) - Method in interface org.jctools.queues.MessagePassingQueue
Called from a producer thread subject to the restrictions appropriate to the implementation.
relaxedOffer(E) - Method in class org.jctools.queues.MpmcArrayQueue
 
relaxedOffer(E) - Method in class org.jctools.queues.MpscArrayQueue
 
relaxedOffer(E) - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
relaxedOffer(E) - Method in class org.jctools.queues.MpscCompoundQueue
 
relaxedOffer(E) - Method in class org.jctools.queues.SpmcArrayQueue
 
relaxedOffer(E) - Method in class org.jctools.queues.SpscArrayQueue
 
relaxedPeek() - Method in interface org.jctools.queues.MessagePassingQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation.
relaxedPeek() - Method in class org.jctools.queues.MpmcArrayQueue
 
relaxedPeek() - Method in class org.jctools.queues.MpscArrayQueue
 
relaxedPeek() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
relaxedPeek() - Method in class org.jctools.queues.MpscCompoundQueue
 
relaxedPeek() - Method in class org.jctools.queues.SpmcArrayQueue
 
relaxedPeek() - Method in class org.jctools.queues.SpscArrayQueue
 
relaxedPoll() - Method in interface org.jctools.queues.MessagePassingQueue
Called from the consumer thread subject to the restrictions appropriate to the implementation.
relaxedPoll() - Method in class org.jctools.queues.MpmcArrayQueue
 
relaxedPoll() - Method in class org.jctools.queues.MpscArrayQueue
 
relaxedPoll() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
relaxedPoll() - Method in class org.jctools.queues.MpscCompoundQueue
 
relaxedPoll() - Method in class org.jctools.queues.SpmcArrayQueue
 
relaxedPoll() - Method in class org.jctools.queues.SpscArrayQueue
 
roundToPowerOfTwo(int) - Static method in class org.jctools.util.Pow2
 

S

SEQ_BUFFER_PAD - Static variable in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
sequenceBuffer - Variable in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
size() - Method in class org.jctools.queues.atomic.MpmcAtomicArrayQueue
 
size() - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
size() - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
size() - Method in class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
size() - Method in class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
size() - Method in interface org.jctools.queues.MessagePassingQueue
This method's accuracy is subject to concurrent modifications happening as the size is estimated and as such is a best effort rather than absolute value.
size() - Method in class org.jctools.queues.MpmcArrayQueue
 
size() - Method in class org.jctools.queues.MpscArrayQueue
This method's accuracy is subject to concurrent modifications happening as the size is estimated and as such is a best effort rather than absolute value.
size() - Method in class org.jctools.queues.MpscChunkedArrayQueue
 
size() - Method in class org.jctools.queues.MpscCompoundQueue
 
size() - Method in class org.jctools.queues.SpmcArrayQueue
 
size() - Method in class org.jctools.queues.SpscArrayQueue
 
soConsumerIndex(long) - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
soElement(E[], long, E) - Static method in class org.jctools.util.UnsafeRefArrayAccess
An ordered store(store + StoreStore barrier) of an element to a given offset
soNext(LinkedQueueAtomicNode<E>) - Method in class org.jctools.queues.atomic.LinkedQueueAtomicNode
 
soSequence(long[], long, long) - Method in class org.jctools.queues.ConcurrentSequencedCircularArrayQueue
 
soTail(long) - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
SparsePaddedCircularArrayOffsetCalculator - Class in org.jctools.queues
 
spElement(E[], long, E) - Static method in class org.jctools.util.UnsafeRefArrayAccess
A plain store (no ordering/fences) of an element to a given offset
SpmcArrayQueue<E> - Class in org.jctools.queues
 
SpmcArrayQueue(int) - Constructor for class org.jctools.queues.SpmcArrayQueue
 
SpmcAtomicArrayQueue<E> - Class in org.jctools.queues.atomic
A single-producer multiple-consumer AtomicReferenceArray-backed queue.
SpmcAtomicArrayQueue(int) - Constructor for class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 
SpscArrayQueue<E> - Class in org.jctools.queues
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
SpscArrayQueue(int) - Constructor for class org.jctools.queues.SpscArrayQueue
 
SpscAtomicArrayQueue<E> - Class in org.jctools.queues.atomic
A Single-Producer-Single-Consumer queue backed by a pre-allocated buffer.
SpscAtomicArrayQueue(int) - Constructor for class org.jctools.queues.atomic.SpscAtomicArrayQueue
 
SpscGrowableArrayQueue<E> - Class in org.jctools.queues
 
SpscGrowableArrayQueue(int) - Constructor for class org.jctools.queues.SpscGrowableArrayQueue
 
SpscGrowableArrayQueue(int, int) - Constructor for class org.jctools.queues.SpscGrowableArrayQueue
 
SpscLinkedAtomicQueue<E> - Class in org.jctools.queues.atomic
This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.
SpscLinkedAtomicQueue() - Constructor for class org.jctools.queues.atomic.SpscLinkedAtomicQueue
 
SpscLinkedQueue<E> - Class in org.jctools.queues
This is a weakened version of the MPSC algorithm as presented on 1024 Cores by D.
SpscLinkedQueue() - Constructor for class org.jctools.queues.SpscLinkedQueue
 
SpscUnboundedArrayQueue<E> - Class in org.jctools.queues
 
SpscUnboundedArrayQueue(int) - Constructor for class org.jctools.queues.SpscUnboundedArrayQueue
 
SpscUnboundedAtomicArrayQueue<E> - Class in org.jctools.queues.atomic
 
SpscUnboundedAtomicArrayQueue(int) - Constructor for class org.jctools.queues.atomic.SpscUnboundedAtomicArrayQueue
 
spValue(E) - Method in class org.jctools.queues.atomic.LinkedQueueAtomicNode
 
SUPPORTS_GET_AND_SET - Static variable in class org.jctools.util.UnsafeAccess
 
svConsumerIndexCache(long) - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
 
svProducerIndexCache(long) - Method in class org.jctools.queues.atomic.SpmcAtomicArrayQueue
 

U

UNBOUNDED_CAPACITY - Static variable in interface org.jctools.queues.MessagePassingQueue
 
UNSAFE - Static variable in class org.jctools.util.UnsafeAccess
 
UnsafeAccess - Class in org.jctools.util
Why should we resort to using Unsafe?
To construct class fields which allow volatile/ordered/plain access: This requirement is covered by AtomicReferenceFieldUpdater and similar but their performance is arguably worse than the DIY approach (depending on JVM version) while Unsafe intrinsification is a far lesser challenge for JIT compilers.
UnsafeAccess() - Constructor for class org.jctools.util.UnsafeAccess
 
UnsafeRefArrayAccess - Class in org.jctools.util
A concurrent access enabling class used by circular array based queues this class exposes an offset computation method along with differently memory fenced load/store methods into the underlying array.

V

valueOf(String) - Static method in enum org.jctools.queues.spec.Ordering
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum org.jctools.queues.spec.Preference
Returns the enum constant of this type with the specified name.
values() - Static method in enum org.jctools.queues.spec.Ordering
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum org.jctools.queues.spec.Preference
Returns an array containing the constants of this enum type, in the order they are declared.

W

weakOffer(E) - Method in class org.jctools.queues.atomic.MpscAtomicArrayQueue
A wait free alternative to offer which fails on CAS failure.

X

xchgProducerNode(LinkedQueueNode<E>) - Method in class org.jctools.queues.MpscLinkedQueue7
 
xchgProducerNode(LinkedQueueNode<E>) - Method in class org.jctools.queues.MpscLinkedQueue8
 
A B C D F G I J K L M N O P Q R S U V W X 
Skip navigation links

Copyright © 2013–2016. All rights reserved.