BoundedNodeMessageQueue

org.apache.pekko.dispatch.BoundedNodeMessageQueue

Lock-free bounded non-blocking multiple-producer single-consumer queue. Discards overflowing messages into DeadLetters.

Attributes

Source
Mailbox.scala
Graph
Supertypes
trait MessageQueue
class AbstractBoundedNodeQueue[Envelope]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

final def cleanUp(owner: ActorRef, deadLetters: MessageQueue): Unit

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.

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).

Attributes

Source
Mailbox.scala
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.

Attributes

Source
Mailbox.scala
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.

Attributes

Source
Mailbox.scala
final def hasMessages: Boolean

Indicates whether this queue is non-empty.

Indicates whether this queue is non-empty.

Attributes

Source
Mailbox.scala
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. Do not use this for testing for presence of messages, use hasMessages instead.

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.

Attributes

Source
Mailbox.scala
final def pushTimeOut: Duration

Attributes

Source
Mailbox.scala

Inherited methods

final def add(x$0: Envelope): Boolean

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def addNode(x$0: Node[Envelope]): Boolean

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def isEmpty(): Boolean

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def peek(): Envelope

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def poll(): Envelope

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def pollNode(): Node[Envelope]

Attributes

Inherited from:
AbstractBoundedNodeQueue
final def size(): Int

Attributes

Inherited from:
AbstractBoundedNodeQueue