final case class Router(logic: RoutingLogic, routees: IndexedSeq[Routee] = Vector.empty) extends Product with Serializable

For each message that is sent through the router via the #route method the RoutingLogic decides to which Routee to send the message. The Routee itself knows how to perform the actual sending. Normally the RoutingLogic picks one of the contained routees, but that is up to the implementation of the RoutingLogic.

A Router is immutable and the RoutingLogic must be thread safe.

Source
Router.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Router
  2. Serializable
  3. Product
  4. Equals
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Router(logic: RoutingLogic, routees: Iterable[Routee])

    Java API

  2. new Router(logic: RoutingLogic)

    Java API

  3. new Router(logic: RoutingLogic, routees: IndexedSeq[Routee] = Vector.empty)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String
    Implicit
    This member is added by an implicit conversion from Router toany2stringadd[Router] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Router, B)
    Implicit
    This member is added by an implicit conversion from Router toArrowAssoc[Router] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def addRoutee(sel: ActorSelection): Router

    Create a new instance with one more ActorSelectionRoutee for the specified pekko.actor.ActorSelection and the same RoutingLogic.

  7. def addRoutee(ref: ActorRef): Router

    Create a new instance with one more ActorRefRoutee for the specified pekko.actor.ActorRef and the same RoutingLogic.

  8. def addRoutee(routee: Routee): Router

    Create a new instance with one more routee and the same RoutingLogic.

  9. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @HotSpotIntrinsicCandidate() @native()
  11. def ensuring(cond: (Router) => Boolean, msg: => Any): Router
    Implicit
    This member is added by an implicit conversion from Router toEnsuring[Router] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  12. def ensuring(cond: (Router) => Boolean): Router
    Implicit
    This member is added by an implicit conversion from Router toEnsuring[Router] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: Boolean, msg: => Any): Router
    Implicit
    This member is added by an implicit conversion from Router toEnsuring[Router] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean): Router
    Implicit
    This member is added by an implicit conversion from Router toEnsuring[Router] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  17. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  18. val logic: RoutingLogic
  19. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  20. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  21. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @native()
  22. def productElementNames: Iterator[String]
    Definition Classes
    Product
  23. def removeRoutee(sel: ActorSelection): Router

    Create a new instance without the ActorSelectionRoutee for the specified pekko.actor.ActorSelection.

  24. def removeRoutee(ref: ActorRef): Router

    Create a new instance without the ActorRefRoutee for the specified pekko.actor.ActorRef.

  25. def removeRoutee(routee: Routee): Router

    Create a new instance without the specified routee.

  26. def route(message: Any, sender: ActorRef): Unit

    Send the message to the destination Routee selected by the RoutingLogic.

    Send the message to the destination Routee selected by the RoutingLogic. If the message is a pekko.routing.RouterEnvelope it will be unwrapped before sent to the destinations. Messages wrapped in a Broadcast envelope are always sent to all routees.

  27. val routees: IndexedSeq[Routee]
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  31. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. def withRoutees(rs: IndexedSeq[Routee]): Router

    Create a new instance with the specified routees and the same RoutingLogic.

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

  2. def formatted(fmtstr: String): String
    Implicit
    This member is added by an implicit conversion from Router toStringFormat[Router] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @deprecated @inline()
    Deprecated

    (Since version 2.12.16) Use formatString.format(value) instead of value.formatted(formatString), or use the f"" string interpolator. In Java 15 and later, formatted resolves to the new method in String which has reversed parameters.

  3. def [B](y: B): (Router, B)
    Implicit
    This member is added by an implicit conversion from Router toArrowAssoc[Router] 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.

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd fromRouter to any2stringadd[Router]

Inherited by implicit conversion StringFormat fromRouter to StringFormat[Router]

Inherited by implicit conversion Ensuring fromRouter to Ensuring[Router]

Inherited by implicit conversion ArrowAssoc fromRouter to ArrowAssoc[Router]

Ungrouped