Package org.apache.pekko.dispatch
package org.apache.pekko.dispatch
-
ClassDescriptionLock-free bounded non-blocking multiple-producer single-consumer queue based on the works of: Andriy Plokhotnuyk (https://github.com/plokhotnyuk) - https://github.com/plokhotnyuk/actors/blob/2e65abb7ce4cbfcb1b29c98ee99303d6ced6b01f/src/test/scala/akka/dispatch/Mailboxes.scala (Apache V2: https://github.com/plokhotnyuk/actors/blob/master/LICENSE) Dmitriy Vyukov's non-intrusive MPSC queue: - https://www.1024cores.net/home/lock-free-algorithms/queues/non-intrusive-mpsc-node-based-queue (Simplified BSD)Lock-free MPSC linked queue implementation based on Dmitriy Vyukov's non-intrusive MPSC queue: https://www.1024cores.net/home/lock-free-algorithms/queues/non-intrusive-mpsc-node-based-queue This queue could be wait-free (i.e.Configurator for creating
pekko.dispatch.BalancingDispatcher
.INTERNAL APIINTERNAL APIINTERNAL APIBoundedControlAwareMailbox is a bounded MailboxType, that maintains two queues to allow messages that extendpekko.dispatch.ControlMessage
to be delivered with priority.BoundedDequeBasedMailbox is an bounded MailboxType, backed by a Deque.BoundedMessageQueueSemantics adds bounded semantics to a DequeBasedMessageQueue, i.e.BoundedMailbox is the default bounded MailboxType used by Pekko Actors.BoundedMessageQueueSemantics adds bounded semantics to a QueueBasedMessageQueue, i.e.Lock-free bounded non-blocking multiple-producer single-consumer queue.BoundedPriorityMailbox is a bounded mailbox that allows for prioritization of its contents.BoundedStablePriorityMailbox is a bounded mailbox that allows for prioritization of its contents.INTERNAL APICompletionStages provides utilities for working withCompletionStage
s.CompletionStages provides utilities for working withCompletionStage
s.ControlAwareMessageQueue handles messages that extendpekko.dispatch.ControlMessage
with priority.Messages that extend this trait will be handled with priority by control aware mailboxes.INTERNAL APIDequeBasedMessageQueue refines QueueBasedMessageQueue to be backed by a java.util.Deque.The event-basedDispatcher
binds a set of Actors to a thread pool backed up by a
BlockingQueue
.Configurator for creatingpekko.dispatch.Dispatcher
.DispatcherPrerequisites represents useful contextual pieces when constructing a MessageDispatcherDispatchers are to be defined in configuration to allow for tuning for different environments.ExecutionContexts is the Java API for ExecutionContextsExecutionContexts is the Java API for ExecutionContextsAn ExecutorServiceConfigurator is a class that given some prerequisites and a configuration can create instances of ExecutorServiceAs the name saysINTERNAL PEKKO USAGE ONLYINTERNAL PEKKO USAGE ONLYFutures is the Java API for Futures and PromisesFutures is the Java API for Futures and PromisesINTERNAL APIINTERNAL APIMailboxType is a factory to create MessageQueues for an optionally provided ActorContext.INTERNAL APIBase class to be used for hooking in new dispatchers into Dispatchers.A MessageQueue is one of the core components in forming an Akka Mailbox.This is a marker trait for message queues which support multiple consumers, as is required by the BalancingDispatcher.NonBlockingBoundedMailbox is a high-performance, multiple-producer single-consumer, bounded MailboxType, Noteworthy is that it discards overflow as DeadLetters.Dedicates a unique thread for each actor passed in as reference.Configurator for creatingpekko.dispatch.PinnedDispatcher
.A PriorityGenerator is a convenience API to create a Comparator that orders the messages of a PriorityDispatcherProducesMessageQueue<T extends MessageQueue>INTERNAL API Used to determine mailbox factories which createBoundedMessageQueueSemantics
mailboxes, and thus should be validated that thepushTimeOut
is greater than 0.A QueueBasedMessageQueue is a MessageQueue backed by a java.util.Queue.Trait to signal that an Actor requires a certain type of message queue semantics.The RejectedExecutionHandler used by Akka, it improves on CallerRunsPolicy by throwing a RejectedExecutionException if the executor isShutdown.SingleConsumerOnlyUnboundedMailbox is a high-performance, multiple producer—single consumer, unbounded MailboxType, with the drawback that you can't have multiple consumers, which rules out using it with BalancingPool (BalancingDispatcher) for instance.INTERNAL APIA DSL to configure and create a MessageDispatcher with a ThreadPoolExecutorINTERNAL APIUnboundedControlAwareMailbox is an unbounded MailboxType, that maintains two queues to allow messages that extendpekko.dispatch.ControlMessage
to be delivered with priority.UnboundedDequeBasedMailbox is an unbounded MailboxType, backed by a Deque.UnboundedDequeBasedMessageQueueSemantics adds unbounded semantics to a DequeBasedMessageQueue, i.e.UnboundedMailbox is the default unbounded MailboxType used by Pekko Actors.UnboundedMessageQueueSemantics adds unbounded semantics to a QueueBasedMessageQueue, i.e.UnboundedPriorityMailbox is an unbounded mailbox that allows for prioritization of its contents.UnboundedStablePriorityMailbox is an unbounded mailbox that allows for prioritization of its contents.A virtualized executor service that creates a new virtual thread for each task.