Getting akka-sample-fsm compiling and tests green
This commit is contained in:
parent
0ec97ab5c6
commit
4c2ac278a7
3 changed files with 10 additions and 8 deletions
|
|
@ -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._
|
||||
|
|
|
|||
|
|
@ -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/
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@
|
|||
*/
|
||||
package sample.fsm.dining.fsm
|
||||
|
||||
import language.postfixOps
|
||||
|
||||
import akka.actor._
|
||||
import akka.actor.FSM._
|
||||
import akka.util.Duration
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue