Fixed misc FIXMEs

This commit is contained in:
Jonas Bonér 2011-10-28 12:00:06 +02:00
parent 7b485f659b
commit e9dfaf7ed8
4 changed files with 7 additions and 9 deletions

View file

@ -119,8 +119,9 @@ case class UnhandledMessageException(msg: Any, ref: ActorRef = null) extends Exc
/** /**
* Classes for passing status back to the sender. * Classes for passing status back to the sender.
* Used for internal ACKing protocol. But exposed as utility class for user-specific ACKing protocols as well.
*/ */
object Status { //FIXME Why does this exist at all? object Status {
sealed trait Status extends Serializable sealed trait Status extends Serializable
case class Success(status: AnyRef) extends Status case class Success(status: AnyRef) extends Status
case class Failure(cause: Throwable) extends Status case class Failure(cause: Throwable) extends Status

View file

@ -14,7 +14,6 @@ import java.net.InetSocketAddress
/** /**
* An Iterable that also contains a version. * An Iterable that also contains a version.
*/ */
// FIXME REMOVE VersionedIterable
trait VersionedIterable[A] { trait VersionedIterable[A] {
val version: Long val version: Long

View file

@ -59,8 +59,6 @@ object RouterType {
/** /**
* A RouterType that select the connection based on the least amount of ram used. * A RouterType that select the connection based on the least amount of ram used.
*
* FIXME: this is extremely vague currently since there are so many ways to define least amount of ram.
*/ */
object LeastRAM extends RouterType object LeastRAM extends RouterType

View file

@ -142,8 +142,6 @@ private[akka] class RoutedActorRef(val routedProps: RoutedProps, override val ad
/** /**
* An Abstract Router implementation that already provides the basic infrastructure so that a concrete * An Abstract Router implementation that already provides the basic infrastructure so that a concrete
* Router only needs to implement the next method. * Router only needs to implement the next method.
*
* FIXME: this is also the location where message buffering should be done in case of failure.
*/ */
trait BasicRouter extends Router { trait BasicRouter extends Router {
@ -258,15 +256,17 @@ class DirectRouter extends BasicRouter {
* @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a> * @author <a href="http://jonasboner.com">Jonas Bon&#233;r</a>
*/ */
class RandomRouter extends BasicRouter { class RandomRouter extends BasicRouter {
import java.security.SecureRandom
private val state = new AtomicReference[RandomRouterState] private val state = new AtomicReference[RandomRouterState]
//FIXME: threadlocal random? private val random = new ThreadLocal[SecureRandom] {
private val random = new java.util.Random(System.nanoTime) override def initialValue = SecureRandom.getInstance("SHA1PRNG")
}
def next: Option[ActorRef] = currentState.array match { def next: Option[ActorRef] = currentState.array match {
case a if a.isEmpty None case a if a.isEmpty None
case a Some(a(random.nextInt(a.length))) case a Some(a(random.get.nextInt(a.length)))
} }
@tailrec @tailrec