Getting akka-sample-fsm compiling and tests green

This commit is contained in:
Viktor Klang 2012-06-25 19:15:57 +02:00
parent 0ec97ab5c6
commit 4c2ac278a7
3 changed files with 10 additions and 8 deletions

View file

@ -26,18 +26,16 @@ object GenericBuncher {
case object Flush // send out current queue immediately
case object Stop // poison pill
class MsgExtractor[A: Manifest] {
def unapply(m: AnyRef): Option[A] = {
if (ClassTag.fromClass(m.getClass) <:< manifest[A]) {
class MsgExtractor[A: ClassTag] {
def unapply(m: AnyRef): Option[A] =
if (implicitly[ClassTag[A]].runtimeClass isAssignableFrom m.getClass)
Some(m.asInstanceOf[A])
} else {
else
None
}
}
}
}
abstract class GenericBuncher[A: Manifest, B](val singleTimeout: Duration, val multiTimeout: Duration)
abstract class GenericBuncher[A: ClassTag, B](val singleTimeout: Duration, val multiTimeout: Duration)
extends Actor with FSM[GenericBuncher.State, B] {
import GenericBuncher._
import FSM._
@ -87,7 +85,7 @@ object Buncher {
val Flush = GenericBuncher.Flush
}
class Buncher[A: Manifest](singleTimeout: Duration, multiTimeout: Duration)
class Buncher[A: ClassTag](singleTimeout: Duration, multiTimeout: Duration)
extends GenericBuncher[A, List[A]](singleTimeout, multiTimeout) {
import Buncher._

View file

@ -3,6 +3,8 @@
*/
package sample.fsm.dining.become
import language.postfixOps
//Akka adaptation of
//http://www.dalnefre.com/wp/2010/08/dining-philosophers-in-humus/

View file

@ -3,6 +3,8 @@
*/
package sample.fsm.dining.fsm
import language.postfixOps
import akka.actor._
import akka.actor.FSM._
import akka.util.Duration