Interface QueueBasedMessageQueue

All Superinterfaces:
MessageQueue, MultipleConsumerSemantics
All Known Subinterfaces:
BoundedControlAwareMessageQueueSemantics, BoundedDequeBasedMessageQueue, BoundedQueueBasedMessageQueue, ControlAwareMessageQueueSemantics, DequeBasedMessageQueue, UnboundedControlAwareMessageQueueSemantics, UnboundedDequeBasedMessageQueue, UnboundedQueueBasedMessageQueue
All Known Implementing Classes:
BoundedControlAwareMailbox.MessageQueue, BoundedDequeBasedMailbox.MessageQueue, BoundedMailbox.MessageQueue, BoundedPriorityMailbox.MessageQueue, BoundedStablePriorityMailbox.MessageQueue, UnboundedControlAwareMailbox.MessageQueue, UnboundedDequeBasedMailbox.MessageQueue, UnboundedMailbox.MessageQueue, UnboundedPriorityMailbox.MessageQueue, UnboundedStablePriorityMailbox.MessageQueue

public interface QueueBasedMessageQueue extends MessageQueue, MultipleConsumerSemantics
A QueueBasedMessageQueue is a MessageQueue backed by a java.util.Queue.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cleanUp(ActorRef owner, MessageQueue deadLetters)
    Called when the mailbox this queue belongs to is disposed of.
    boolean
    Indicates whether this queue is non-empty.
    int
    Should return the current number of messages held in this queue; may always return 0 if no other value is available efficiently.
     

    Methods inherited from interface org.apache.pekko.dispatch.MessageQueue

    dequeue, enqueue
  • Method Details

    • cleanUp

      void cleanUp(ActorRef owner, MessageQueue deadLetters)
      Description copied from interface: MessageQueue
      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).

      Specified by:
      cleanUp in interface MessageQueue
    • hasMessages

      boolean hasMessages()
      Description copied from interface: MessageQueue
      Indicates whether this queue is non-empty.
      Specified by:
      hasMessages in interface MessageQueue
    • numberOfMessages

      int numberOfMessages()
      Description copied from interface: MessageQueue
      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, use hasMessages instead.
      Specified by:
      numberOfMessages in interface MessageQueue
    • queue

      Queue<Envelope> queue()