colossus

package colossus

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait IOCommand extends AnyRef

    An IO Command is sent to an IO System, which then routes the command to a random worker using a round-robin router.

    An IO Command is sent to an IO System, which then routes the command to a random worker using a round-robin router. If you want more determinism over how items are distributed across workers, just use multiple IO Systems

    TODO: It may be a better idea to move these into WorkerCommand with a tag trait to show they can be accepted by the IOSystem, and then also add methods onto the IOSystem to eliminate confusion

  2. case class IOSystem extends Product with Serializable

    An IO System is basically a collection of worker actors.

    An IO System is basically a collection of worker actors. You can attach either servers or clients to an IOSystem.

    You may have multiple IOSystems per ActorSystem and actors attached to different IOSystems have no rules about cross communication. The main thing to keep in mind is that all actors in a single IOSystem will share event loops.

  3. case class IOSystemConfig(name: String, numWorkers: Int) extends Product with Serializable

    Configuration used to specify an IOSystem's parameters.

    Configuration used to specify an IOSystem's parameters.

    name

    The name of the IOSystem

    numWorkers

    The amount of Worker actors to spawn. Must be greater than 0.

  4. case class JsonMetricSender(host: String, port: Int, path: String, sys: IOSystem = IOSystem("json-sender")) extends MetricSender with Product with Serializable

  5. class JsonMetricSenderActor extends Actor with ActorLogging

Value Members

  1. object IOCommand

  2. object IOSystem extends Serializable

  3. package controller

  4. package core

  5. package parsing

  6. package protocols

  7. package service

  8. package task

Ungrouped