class SmallestMailboxRoutingLogic extends RoutingLogic
Tries to send to the non-suspended routee with fewest messages in mailbox. The selection is done in this order:
- pick any idle routee (not processing message) with empty mailbox
- pick any routee with empty mailbox
- pick routee with fewest pending messages in mailbox
- pick any remote routee, remote actors are consider lowest priority, since their mailbox size is unknown
- Annotations
- @nowarn() @SerialVersionUID()
- Source
- SmallestMailbox.scala
- Alphabetic
- By Inheritance
- SmallestMailboxRoutingLogic
- RoutingLogic
- NoSerializationVerificationNeeded
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new SmallestMailboxRoutingLogic()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toany2stringadd[SmallestMailboxRoutingLogic] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (SmallestMailboxRoutingLogic, B)
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toArrowAssoc[SmallestMailboxRoutingLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
- def ensuring(cond: (SmallestMailboxRoutingLogic) => Boolean, msg: => Any): SmallestMailboxRoutingLogic
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toEnsuring[SmallestMailboxRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (SmallestMailboxRoutingLogic) => Boolean): SmallestMailboxRoutingLogic
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toEnsuring[SmallestMailboxRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): SmallestMailboxRoutingLogic
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toEnsuring[SmallestMailboxRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): SmallestMailboxRoutingLogic
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toEnsuring[SmallestMailboxRoutingLogic] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def hasMessages(a: Routee): Boolean
Returns true if the actor currently has any pending messages in the mailbox, i.e.
Returns true if the actor currently has any pending messages in the mailbox, i.e. the mailbox is not empty. It will always return false for remote actors. Method is exposed to subclasses to be able to implement custom routers based on mailbox and actor internal state.
- Attributes
- protected
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isProcessingMessage(a: Routee): Boolean
Returns true if the actor is currently processing a message.
Returns true if the actor is currently processing a message. It will always return false for remote actors. Method is exposed to subclasses to be able to implement custom routers based on mailbox and actor internal state.
- Attributes
- protected
- def isSuspended(a: Routee): Boolean
Returns true if the actor is currently suspended.
Returns true if the actor is currently suspended. It will always return false for remote actors. Method is exposed to subclasses to be able to implement custom routers based on mailbox and actor internal state.
- Attributes
- protected
- def isTerminated(a: Routee): Boolean
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @HotSpotIntrinsicCandidate() @native()
- def numberOfMessages(a: Routee): Int
Returns the number of pending messages in the mailbox of the actor.
Returns the number of pending messages in the mailbox of the actor. It will always return 0 for remote actors. Method is exposed to subclasses to be able to implement custom routers based on mailbox and actor internal state.
- Attributes
- protected
- def select(message: Any, routees: IndexedSeq[Routee]): Routee
Pick the destination for a given message.
Pick the destination for a given message. Normally it picks one of the passed
routees
, but in the end it is up to the implementation to return whatever Routee to use for sending a specific message.When implemented from Java it can be good to know that
routees.apply(index)
can be used to get an element from theIndexedSeq
.- Definition Classes
- SmallestMailboxRoutingLogic → RoutingLogic
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toStringFormat[SmallestMailboxRoutingLogic] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (SmallestMailboxRoutingLogic, B)
- Implicit
- This member is added by an implicit conversion from SmallestMailboxRoutingLogic toArrowAssoc[SmallestMailboxRoutingLogic] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.