trait Receive[T] extends Behavior[T]
Behavior
that exposes additional fluent DSL methods to further change the message or
signal reception behavior. It's returned by for example Behaviors.receiveMessage.
- Annotations
- @DoNotInherit()
- Source
- Behaviors.scala
- Alphabetic
- By Inheritance
- Receive
- Behavior
- AnyRef
- Any
- by BehaviorDecorators
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
- abstract def receiveSignal(onSignal: PartialFunction[(ActorContext[T], Signal), Behavior[T]]): Behavior[T]
Concrete Value Members
-
val
behavior: Behavior[T]
- Implicit
- This member is added by an implicit conversion from Receive[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Definition Classes
- BehaviorDecorators
-
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
orElse(that: Behavior[T]): Behavior[T]
Composes this
Behavior with a fallback
Behaviorwhich is used when this
Behaviordoesn't handle the message or signal, i.e. when
unhandledis returned.
Composes this
Behavior with a fallback
Behaviorwhich is used when this
Behaviordoesn't handle the message or signal, i.e. when
unhandledis returned.
- that
the fallback
Behavior
- Definition Classes
- Behavior
-
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 Receive[T] to BehaviorDecorators[T] performed by method BehaviorDecorators in akka.actor.typed.Behavior.
- Definition Classes
- BehaviorDecorators