Implement this method to process an incoming message and return the next behavior.
Implement this method to process an incoming message and return the next behavior.
The returned behavior can in addition to normal behaviors be one of the canned special objects:
stopped
will terminate this Behaviorthis
or same
designates to reuse the current Behaviorunhandled
keeps the same Behavior and signals that the message was not yet handledNarrow 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).
Override this method to process an incoming akka.actor.typed.Signal and return the next behavior.
Override this method to process an incoming akka.actor.typed.Signal and return the next behavior. This means that all lifecycle hooks, ReceiveTimeout, Terminated and Failed messages can initiate a behavior change.
The returned behavior can in addition to normal behaviors be one of the canned special objects:
* returning stopped
will terminate this Behavior
* returning this
or same
designates to reuse the current Behavior
* returning unhandled
keeps the same Behavior and signals that the message was not yet handled
By default, partial function is empty and does not handle any signals.
Composes this Behavior with a fallback
Behavior which
is used when this
Behavior doesn't handle the message or signal, i.e.
when
unhandled is returned.
Composes this Behavior with a fallback
Behavior which
is used when this
Behavior doesn't handle the message or signal, i.e.
when
unhandled is returned.
the fallback Behavior
Process an incoming message and return the next behavior.
Process an incoming message and return the next behavior.
The returned behavior can in addition to normal behaviors be one of the canned special objects:
* returning stopped
will terminate this Behavior
* returning same
designates to reuse the current Behavior
* returning unhandled
keeps the same Behavior and signals that the message was not yet handled
Code calling this method should use Behavior$ canonicalize
to replace
the special objects with real Behaviors.
Process an incoming Signal and return the next behavior.
Process an incoming Signal and return the next behavior. This means that all lifecycle hooks, ReceiveTimeout, Terminated and Failed messages can initiate a behavior change.
The returned behavior can in addition to normal behaviors be one of the canned special objects:
* returning stopped
will terminate this Behavior
* returning same
designates to reuse the current Behavior
* returning unhandled
keeps the same Behavior and signals that the message was not yet handled
Code calling this method should use Behavior$ canonicalize
to replace
the special objects with real Behaviors.
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)" // drop all other kinds of Number }
Mutable behavior can be implemented by extending this class and implement the abstract method MutableBehavior#onMessage and optionally override MutableBehavior#onSignal.
Instances of this behavior should be created via Behaviors#setup and if the ActorContext is needed it can be passed as a constructor parameter from the factory function.
Behaviors#setup