Package org.apache.pekko.dispatch
Interface MessageQueue
-
- All Known Subinterfaces:
BoundedControlAwareMessageQueueSemantics
,BoundedDequeBasedMessageQueue
,BoundedQueueBasedMessageQueue
,ControlAwareMessageQueueSemantics
,DequeBasedMessageQueue
,QueueBasedMessageQueue
,UnboundedControlAwareMessageQueueSemantics
,UnboundedDequeBasedMessageQueue
,UnboundedQueueBasedMessageQueue
- All Known Implementing Classes:
BoundedControlAwareMailbox.MessageQueue
,BoundedDequeBasedMailbox.MessageQueue
,BoundedMailbox.MessageQueue
,BoundedNodeMessageQueue
,BoundedPriorityMailbox.MessageQueue
,BoundedStablePriorityMailbox.MessageQueue
,NodeMessageQueue
,UnboundedControlAwareMailbox.MessageQueue
,UnboundedDequeBasedMailbox.MessageQueue
,UnboundedMailbox.MessageQueue
,UnboundedPriorityMailbox.MessageQueue
,UnboundedStablePriorityMailbox.MessageQueue
public interface MessageQueue
A MessageQueue is one of the core components in forming an Akka Mailbox. The MessageQueue is where the normal messages that are sent to Actors will be enqueued (and subsequently dequeued) It needs to at least support N producers and 1 consumer thread-safely.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
cleanUp(ActorRef owner, MessageQueue deadLetters)
Called when the mailbox this queue belongs to is disposed of.Envelope
dequeue()
Try to dequeue the next message from this queue, return null failing that.void
enqueue(ActorRef receiver, Envelope handle)
Try to enqueue the message to this queue, or throw an exception.boolean
hasMessages()
Indicates whether this queue is non-empty.int
numberOfMessages()
Should return the current number of messages held in this queue; may always return 0 if no other value is available efficiently.
-
-
-
Method Detail
-
cleanUp
void cleanUp(ActorRef owner, MessageQueue deadLetters)
Called when the mailbox this queue belongs to is disposed of. Normally it is expected to transfer all remaining messages into the dead letter queue which is passed in. The owner of this MessageQueue is passed in if available (e.g. for creating DeadLetters()), “/deadletters” otherwise.Note that we implement the method in a recursive manner mainly for atomicity (not touching the queue twice).
-
dequeue
Envelope dequeue()
Try to dequeue the next message from this queue, return null failing that.
-
enqueue
void enqueue(ActorRef receiver, Envelope handle)
Try to enqueue the message to this queue, or throw an exception.
-
hasMessages
boolean hasMessages()
Indicates whether this queue is non-empty.
-
numberOfMessages
int numberOfMessages()
Should return the current number of messages held in this queue; may always return 0 if no other value is available efficiently. Do not use this for testing for presence of messages, usehasMessages
instead.
-
-