From 8c8683c80dcea2fafc0680ee9b2fce11780bd0f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martynas=20Mickevi=C4=8Dius?= Date: Fri, 28 Apr 2017 08:29:31 +0300 Subject: [PATCH] #22662 Partial application for signal management --- akka-typed/src/main/scala/akka/typed/scaladsl/Actor.scala | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/akka-typed/src/main/scala/akka/typed/scaladsl/Actor.scala b/akka-typed/src/main/scala/akka/typed/scaladsl/Actor.scala index be63b7e7e0..527e1cdc78 100644 --- a/akka-typed/src/main/scala/akka/typed/scaladsl/Actor.scala +++ b/akka-typed/src/main/scala/akka/typed/scaladsl/Actor.scala @@ -274,11 +274,10 @@ object Actor { * * 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, this method returns `Unhandled`. + * By default, partial function is empty and does not handle any signals. */ @throws(classOf[Exception]) - def onSignal(msg: Signal): Behavior[T] = - Unhandled + def onSignal: PartialFunction[Signal, Behavior[T]] = PartialFunction.empty } /** @@ -333,7 +332,7 @@ object Actor { onMessage: (ActorContext[T], T) ⇒ Behavior[T], onSignal: PartialFunction[(ActorContext[T], Signal), Behavior[T]] = Behavior.unhandledSignal.asInstanceOf[PartialFunction[(ActorContext[T], Signal), Behavior[T]]]) extends ExtensibleBehavior[T] { - override def receiveSignal(ctx: AC[T], msg: Signal): Behavior[T] = onSignal(ctx, msg) + override def receiveSignal(ctx: AC[T], msg: Signal): Behavior[T] = onSignal.applyOrElse((ctx, msg), Behavior.unhandledSignal.asInstanceOf[PartialFunction[(ActorContext[T], Signal), Behavior[T]]]) override def receiveMessage(ctx: AC[T], msg: T) = onMessage(ctx, msg) override def toString = s"Immutable(${LineNumbers(onMessage)})"