Package akka.dispatch
Class NodeMessageQueue
- java.lang.Object
-
- java.util.concurrent.atomic.AtomicReference<AbstractNodeQueue.Node<T>>
-
- akka.dispatch.AbstractNodeQueue<Envelope>
-
- akka.dispatch.NodeMessageQueue
-
- All Implemented Interfaces:
MessageQueue,UnboundedMessageQueueSemantics,java.io.Serializable
public class NodeMessageQueue extends AbstractNodeQueue<Envelope> implements MessageQueue, UnboundedMessageQueueSemantics
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class akka.dispatch.AbstractNodeQueue
AbstractNodeQueue.Node<T>
-
-
Constructor Summary
Constructors Constructor Description NodeMessageQueue()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcleanUp(ActorRef owner, MessageQueue deadLetters)Called when the mailbox this queue belongs to is disposed of.Envelopedequeue()Try to dequeue the next message from this queue, return null failing that.voidenqueue(ActorRef receiver, Envelope handle)Try to enqueue the message to this queue, or throw an exception.booleanhasMessages()Indicates whether this queue is non-empty.intnumberOfMessages()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 class akka.dispatch.AbstractNodeQueue
add, addNode, count, isEmpty, peek, peekNode, poll, pollNode
-
Methods inherited from class java.util.concurrent.atomic.AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
-
-
-
Method Detail
-
cleanUp
public final void cleanUp(ActorRef owner, MessageQueue deadLetters)
Description copied from interface:MessageQueueCalled 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:
cleanUpin interfaceMessageQueue
-
dequeue
public final Envelope dequeue()
Description copied from interface:MessageQueueTry to dequeue the next message from this queue, return null failing that.- Specified by:
dequeuein interfaceMessageQueue
-
enqueue
public final void enqueue(ActorRef receiver, Envelope handle)
Description copied from interface:MessageQueueTry to enqueue the message to this queue, or throw an exception.- Specified by:
enqueuein interfaceMessageQueue
-
hasMessages
public final boolean hasMessages()
Description copied from interface:MessageQueueIndicates whether this queue is non-empty.- Specified by:
hasMessagesin interfaceMessageQueue
-
numberOfMessages
public final int numberOfMessages()
Description copied from interface:MessageQueueShould 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, usehasMessagesinstead.- Specified by:
numberOfMessagesin interfaceMessageQueue
-
-