MeteredMessageQueue

com.netflix.atlas.pekko.UnboundedMeteredMailbox.MeteredMessageQueue
class MeteredMessageQueue(path: String) extends MessageQueue, UnboundedMessageQueueSemantics

Attributes

Graph
Supertypes
trait UnboundedMessageQueueSemantics
trait MessageQueue
class Object
trait Matchable
class Any

Members list

Value members

Concrete methods

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

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

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

def hasMessages: Boolean

Indicates whether this queue is non-empty.

Indicates whether this queue is non-empty.

Attributes

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