akka.dispatch
Interface MessageQueue

All Known Subinterfaces:
BoundedDequeBasedMessageQueueSemantics, BoundedMessageQueueSemantics, DequeBasedMessageQueue, QueueBasedMessageQueue, UnboundedDequeBasedMessageQueueSemantics, UnboundedMessageQueueSemantics
All Known Implementing Classes:
DurableMessageQueue, DurableMessageQueueWithSerialization, FileBasedMessageQueue, PeekMailbox

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 atleast support N producers and 1 consumer thread-safely.


Method Summary
 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

enqueue

void enqueue(ActorRef receiver,
             Envelope handle)
Try to enqueue the message to this queue, or throw an exception.


dequeue

Envelope dequeue()
Try to dequeue the next message from this queue, return null failing that.


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, use hasMessages instead.


hasMessages

boolean hasMessages()
Indicates whether this queue is non-empty.


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.