From 1eea91abfa894e89ccee2dae278ed50a94bb9768 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20Bone=CC=81r?= Date: Fri, 1 Apr 2011 22:59:49 +0200 Subject: [PATCH] Changed Iterator to take immutable.Seq instead of mutable.Seq. Also changed Pi tutorial to use Vector instead of Array --- akka-actor/src/main/scala/akka/routing/Iterators.scala | 5 +++-- akka-tutorials/akka-tutorial-pi-sbt/src/main/scala/Pi.scala | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/akka-actor/src/main/scala/akka/routing/Iterators.scala b/akka-actor/src/main/scala/akka/routing/Iterators.scala index f076ea00c1..6172cf7ea6 100644 --- a/akka-actor/src/main/scala/akka/routing/Iterators.scala +++ b/akka-actor/src/main/scala/akka/routing/Iterators.scala @@ -6,6 +6,7 @@ package akka.routing import akka.actor.ActorRef import scala.collection.JavaConversions._ +import scala.collection.immutable.Seq /** * An Iterator that is either always empty or yields an infinite number of Ts. @@ -18,7 +19,7 @@ trait InfiniteIterator[T] extends Iterator[T] { * CyclicIterator is a round-robin style InfiniteIterator that cycles the supplied List. */ case class CyclicIterator[T](val items: Seq[T]) extends InfiniteIterator[T] { - def this(items: java.util.List[T]) = this(items.toSeq) + def this(items: java.util.List[T]) = this(items.toList) @volatile private[this] var current: Seq[T] = items @@ -38,7 +39,7 @@ case class CyclicIterator[T](val items: Seq[T]) extends InfiniteIterator[T] { * useful for work-stealing. */ case class SmallestMailboxFirstIterator(val items : Seq[ActorRef]) extends InfiniteIterator[ActorRef] { - def this(items: java.util.List[ActorRef]) = this(items.toSeq) + def this(items: java.util.List[ActorRef]) = this(items.toList) def hasNext = items != Nil def next = items.reduceLeft((a1, a2) => if (a1.mailboxSize < a2.mailboxSize) a1 else a2) diff --git a/akka-tutorials/akka-tutorial-pi-sbt/src/main/scala/Pi.scala b/akka-tutorials/akka-tutorial-pi-sbt/src/main/scala/Pi.scala index 1b84ae5008..9c3e5b6593 100644 --- a/akka-tutorials/akka-tutorial-pi-sbt/src/main/scala/Pi.scala +++ b/akka-tutorials/akka-tutorial-pi-sbt/src/main/scala/Pi.scala @@ -63,8 +63,8 @@ object Pi { // create the workers val workers = { - val ws = new Array[ActorRef](nrOfWorkers) - for (i <- 0 until nrOfWorkers) ws(i) = actorOf[Worker].start + var ws = Vector[ActorRef]() + for (i <- 0 until nrOfWorkers) ws = ws :+ actorOf[Worker].start ws }