class BoundedNodeMessageQueue extends AbstractBoundedNodeQueue[Envelope] with MessageQueue with BoundedMessageQueueSemantics with MultipleConsumerSemantics
Lock-free bounded non-blocking multiple-producer single-consumer queue. Discards overflowing messages into DeadLetters.
- Source
- Mailbox.scala
- Alphabetic
- By Inheritance
- BoundedNodeMessageQueue
- MultipleConsumerSemantics
- BoundedMessageQueueSemantics
- MessageQueue
- AbstractBoundedNodeQueue
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Value Members
- final def add(value: Envelope): Boolean
- Definition Classes
- AbstractBoundedNodeQueue
- final def addNode(n: Node[Envelope]): Boolean
- Definition Classes
- AbstractBoundedNodeQueue
- final def capacity(): Int
- returns
the maximum capacity of this queue
- Definition Classes
- AbstractBoundedNodeQueue
- final def cleanUp(owner: ActorRef, deadLetters: MessageQueue): Unit
Called when the mailbox this queue belongs to is disposed of.
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).
- Definition Classes
- BoundedNodeMessageQueue → MessageQueue
- Annotations
- @tailrec()
- final def dequeue(): Envelope
Try to dequeue the next message from this queue, return null failing that.
Try to dequeue the next message from this queue, return null failing that.
- Definition Classes
- BoundedNodeMessageQueue → MessageQueue
- final def enqueue(receiver: ActorRef, handle: Envelope): Unit
Try to enqueue the message to this queue, or throw an exception.
Try to enqueue the message to this queue, or throw an exception.
- Definition Classes
- BoundedNodeMessageQueue → MessageQueue
- final def hasMessages: Boolean
Indicates whether this queue is non-empty.
Indicates whether this queue is non-empty.
- Definition Classes
- BoundedNodeMessageQueue → MessageQueue
- final def isEmpty(): Boolean
- Definition Classes
- AbstractBoundedNodeQueue
- final def numberOfMessages: Int
Should return the current number of messages held in this queue; may always return 0 if no other value is available efficiently.
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.- Definition Classes
- BoundedNodeMessageQueue → MessageQueue
- final def peek(): Envelope
- returns
the first value of this queue, null if empty
- Definition Classes
- AbstractBoundedNodeQueue
- final def poll(): Envelope
Removes the first element of this queue if any
Removes the first element of this queue if any
- returns
the value of the first element of the queue, null if empty
- Definition Classes
- AbstractBoundedNodeQueue
- final def pollNode(): Node[Envelope]
Removes the first element of this queue if any
Removes the first element of this queue if any
- returns
the
Node
of the first element of the queue, null if empty
- Definition Classes
- AbstractBoundedNodeQueue
- final def pushTimeOut: Duration
- Definition Classes
- BoundedNodeMessageQueue → BoundedMessageQueueSemantics
- final def size(): Int
Returns an approximation of the queue's "current" size
Returns an approximation of the queue's "current" size
- Definition Classes
- AbstractBoundedNodeQueue