Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import akka.actor.{ ActorRef, ActorSystem, Props, Actor, Inbox }
- import scala.concurrent.Future
- import scala.concurrent.ExecutionContext.Implicits.global
- case class TestRange(candidate: Long, start: Long, stop: Long)
- case class FinishedNoneFound(start: Long, stop: Long)
- case class Found(divisor: Long)
- class TesterWorker extends Actor {
- def receive = {
- case TestRange(candidate, start, stop) => {
- println(s"testing range ${start} to ${stop}")
- val originalSender = sender
- val futResult = Future { (start to stop) find (d => (candidate % d) == 0) }
- futResult map {
- case None => originalSender ! FinishedNoneFound(start, stop)
- case Some(d) => originalSender ! Found(d)
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement