Making it possible/mandatory to signal which ExecutionContext will actually execute something scheduled

This commit is contained in:
Viktor Klang 2012-08-08 15:57:30 +02:00
parent a8f648ef1c
commit 9d097bcf50
22 changed files with 135 additions and 120 deletions

View file

@ -91,6 +91,7 @@ class Worker extends Actor with ActorLogging {
var progressListener: Option[ActorRef] = None
val counterService = context.actorOf(Props[CounterService], name = "counter")
val totalCount = 51
import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext
def receive = LoggingReceive {
case Start if progressListener.isEmpty
@ -103,7 +104,6 @@ class Worker extends Actor with ActorLogging {
counterService ! Increment(1)
// Send current progress to the initial sender
import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext
counterService ? GetCurrentCount map {
case CurrentCount(_, count) Progress(100.0 * count / totalCount)
} pipeTo progressListener.get
@ -143,6 +143,8 @@ class CounterService extends Actor {
var backlog = IndexedSeq.empty[(ActorRef, Any)]
val MaxBacklog = 10000
import context.dispatcher // Use this Actors' Dispatcher as ExecutionContext
override def preStart() {
initStorage()
}