From bc24bc40a0d510a173e677dcebb7a1d57d607384 Mon Sep 17 00:00:00 2001 From: Viktor Klang Date: Thu, 25 Nov 2010 16:11:58 +0100 Subject: [PATCH] Moving all message typed besides Transition into FSM object --- .../src/main/scala/akka/actor/FSM.scala | 19 +++++++++++-------- .../scala/akka/actor/actor/FSMActorSpec.scala | 1 + .../src/main/scala/DiningHakkersOnFsm.scala | 1 + 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/akka-actor/src/main/scala/akka/actor/FSM.scala b/akka-actor/src/main/scala/akka/actor/FSM.scala index 678a9ec1cc..0649eb4605 100644 --- a/akka-actor/src/main/scala/akka/actor/FSM.scala +++ b/akka-actor/src/main/scala/akka/actor/FSM.scala @@ -7,8 +7,19 @@ package akka.actor import scala.collection.mutable import java.util.concurrent.{ScheduledFuture, TimeUnit} +object FSM { + sealed trait Reason + case object Normal extends Reason + case object Shutdown extends Reason + case class Failure(cause: Any) extends Reason + + case object StateTimeout + case class TimeoutMarker(generation: Long) +} + trait FSM[S, D] { this: Actor => + import FSM._ type StateFunction = scala.PartialFunction[Event, State] @@ -157,13 +168,5 @@ trait FSM[S, D] { } } - sealed trait Reason - case object Normal extends Reason - case object Shutdown extends Reason - case class Failure(cause: Any) extends Reason - - case object StateTimeout - case class TimeoutMarker(generation: Long) - case class Transition(from: S, to: S) } diff --git a/akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala b/akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala index bc9c7e739c..ed9a433b73 100644 --- a/akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala +++ b/akka-actor/src/test/scala/akka/actor/actor/FSMActorSpec.scala @@ -12,6 +12,7 @@ import org.multiverse.api.latches.StandardLatch import java.util.concurrent.TimeUnit object FSMActorSpec { + import FSM._ val unlockedLatch = new StandardLatch val lockedLatch = new StandardLatch diff --git a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala index 34bc3ba29e..4104f6c18f 100644 --- a/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala +++ b/akka-samples/akka-sample-fsm/src/main/scala/DiningHakkersOnFsm.scala @@ -1,6 +1,7 @@ package sample.fsm.dining.fsm import akka.actor.{ActorRef, Actor, FSM} +import akka.actor.FSM._ import Actor._ import java.util.concurrent.TimeUnit import TimeUnit._