abstract class PoolRouter[T] extends DeferredBehavior[T]
Provides builder style configuration options for pool routers
Not for user extension. Use Routers#pool to create
- Annotations
- @DoNotInherit()
- Source
- Routers.scala
- Alphabetic
- By Inheritance
- PoolRouter
- DeferredBehavior
- Behavior
- AnyRef
- Any
- by BehaviorDecorators
- by BehaviorDecorators
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Instance Constructors
- new PoolRouter()
Abstract Value Members
-
abstract
def
apply(ctx: TypedActorContext[T]): Behavior[T]
- Definition Classes
- DeferredBehavior
-
abstract
def
withPoolSize(poolSize: Int): PoolRouter[T]
Set a new pool size from the one set at construction
-
abstract
def
withRandomRouting(): PoolRouter[T]
Route messages by randomly selecting the routee from the available routees.
Route messages by randomly selecting the routee from the available routees.
Random routing makes it less likely that every
poolsize
message from a single producer ends up in the same mailbox of a slow actor. -
abstract
def
withRoundRobinRouting(): PoolRouter[T]
Route messages through round robin, providing a fair distribution of messages across the routees.
Route messages through round robin, providing a fair distribution of messages across the routees.
Round robin gives fair routing where every available routee gets the same amount of messages
This is the default for pool routers.
Concrete 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 PoolRouter[T] to any2stringadd[PoolRouter[T]] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (PoolRouter[T], B)
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to ArrowAssoc[PoolRouter[T]] 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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate() @throws( ... )
-
def
ensuring(cond: (PoolRouter[T]) ⇒ Boolean, msg: ⇒ Any): PoolRouter[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to Ensuring[PoolRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (PoolRouter[T]) ⇒ Boolean): PoolRouter[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to Ensuring[PoolRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): PoolRouter[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to Ensuring[PoolRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): PoolRouter[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to Ensuring[PoolRouter[T]] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to StringFormat[PoolRouter[T]] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
narrow[U <: T]: Behavior[U]
Narrow the type of this Behavior, which is always a safe operation.
Narrow the type of this Behavior, which is always a safe operation. This method is necessary to implement the contravariant nature of Behavior (which cannot be expressed directly due to type inference problems).
- Definition Classes
- Behavior
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
orElse(that: Behavior[T]): Behavior[T]
Composes this
Behavior
with a fallbackBehavior
which is used when thisBehavior
doesn't handle the message or signal, i.e.Composes this
Behavior
with a fallbackBehavior
which is used when thisBehavior
doesn't handle the message or signal, i.e. whenunhandled
is returned.- that
the fallback
Behavior
- Definition Classes
- Behavior
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
→[B](y: B): (PoolRouter[T], B)
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to ArrowAssoc[PoolRouter[T]] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
Shadowed Implicit Value Members
-
val
behavior: Behavior[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(poolRouter: BehaviorDecorators[T]).behavior
- Definition Classes
- BehaviorDecorators
-
val
behavior: Behavior[T]
- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(poolRouter: BehaviorDecorators[T]).behavior
- Definition Classes
- BehaviorDecorators
-
def
widen[U](matcher: PartialFunction[U, T]): Behavior[U]
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy.
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy. Signals are not transformed.
Example:
receive[String] { (ctx, msg) => println(msg); same }.widen[Number] { case b: BigDecimal => s"BigDecimal($b)" case i: BigInteger => s"BigInteger($i)" // all other kinds of Number will be `unhandled` }
Scheduled messages via akka.actor.typed.scaladsl.TimerScheduler can currently not be used together with
widen
, see issue #25318.- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(poolRouter: BehaviorDecorators[T]).widen(matcher)
- Definition Classes
- BehaviorDecorators
-
def
widen[U](matcher: PartialFunction[U, T]): Behavior[U]
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy.
Widen the wrapped Behavior by placing a funnel in front of it: the supplied PartialFunction decides which message to pull in (those that it is defined at) and may transform the incoming message to place them into the wrapped Behavior’s type hierarchy. Signals are not transformed.
Example:
receive[String] { (ctx, msg) => println(msg); same }.widen[Number] { case b: BigDecimal => s"BigDecimal($b)" case i: BigInteger => s"BigInteger($i)" // all other kinds of Number will be `unhandled` }
Scheduled messages via akka.actor.typed.scaladsl.TimerScheduler can currently not be used together with
widen
, see issue #25318.- Implicit
- This member is added by an implicit conversion from PoolRouter[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Shadowing
- This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
To access this member you can use a type ascription:(poolRouter: BehaviorDecorators[T]).widen(matcher)
- Definition Classes
- BehaviorDecorators