Uses of Interface
org.jctools.queues.MessagePassingQueue.Consumer
Packages that use MessagePassingQueue.Consumer
Package
Description
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
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.-
Uses of MessagePassingQueue.Consumer in org.jctools.queues
Methods in org.jctools.queues with parameters of type MessagePassingQueue.ConsumerModifier and TypeMethodDescriptionintBaseLinkedQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseLinkedQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseLinkedQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseMpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseMpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseMpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseSpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseSpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseSpscLinkedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intMessagePassingQueue.drain(MessagePassingQueue.Consumer<T> c) Remove all available item from the queue and hand to consume.intMessagePassingQueue.drain(MessagePassingQueue.Consumer<T> c, int limit) Remove up to limit elements from the queue and hand to consume.voidMessagePassingQueue.drain(MessagePassingQueue.Consumer<T> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) Remove elements from the queue and hand to consume forever.static <E> intMessagePassingQueueUtil.drain(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c) static <E> intMessagePassingQueueUtil.drain(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c, int limit) static <E> voidMessagePassingQueueUtil.drain(MessagePassingQueue<E> queue, MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intMpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscBlockingConsumerArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscBlockingConsumerArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) intMpscBlockingConsumerArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit, long timeout, TimeUnit unit) Remove up to limit elements from the queue and hand to consume, waiting up to the specified wait time if necessary for an element to become available.voidMpscBlockingConsumerArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscCompoundQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscCompoundQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpscCompoundQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intMpscUnboundedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscUnboundedXaddArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) intMpUnboundedXaddArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpUnboundedXaddArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpUnboundedXaddArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intSpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpmcArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intSpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpscArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) private intMpmcArrayQueue.drainOneByOne(MessagePassingQueue.Consumer<E> c, int limit) -
Uses of MessagePassingQueue.Consumer in org.jctools.queues.atomic
Methods in org.jctools.queues.atomic with parameters of type MessagePassingQueue.ConsumerModifier and TypeMethodDescriptionintBaseLinkedAtomicQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseLinkedAtomicQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseLinkedAtomicQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseMpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseMpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseMpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseSpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseSpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseSpscLinkedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intMpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscUnboundedAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpmcAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intSpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpscAtomicArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) private intMpmcAtomicArrayQueue.drainOneByOne(MessagePassingQueue.Consumer<E> c, int limit) -
Uses of MessagePassingQueue.Consumer in org.jctools.queues.unpadded
Methods in org.jctools.queues.unpadded with parameters of type MessagePassingQueue.ConsumerModifier and TypeMethodDescriptionintBaseLinkedUnpaddedQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseLinkedUnpaddedQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseLinkedUnpaddedQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseMpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseMpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseMpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intBaseSpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intBaseSpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidBaseSpscLinkedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy wait, MessagePassingQueue.ExitCondition exit) intMpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intMpscUnboundedUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intMpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidMpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intSpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpmcUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) intSpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c) intSpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, int limit) voidSpscUnpaddedArrayQueue.drain(MessagePassingQueue.Consumer<E> c, MessagePassingQueue.WaitStrategy w, MessagePassingQueue.ExitCondition exit) private intMpmcUnpaddedArrayQueue.drainOneByOne(MessagePassingQueue.Consumer<E> c, int limit)