colossus

core

package core

Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AliveState extends ConnectionState

  2. trait BackoffMultiplier extends AnyRef

    A BackoffMultiplier is used by a BackoffPolicy determines how the amount of time changes in between retry attempts.

  3. case class BackoffPolicy(baseBackoff: FiniteDuration, multiplier: BackoffMultiplier, maxTime: Option[FiniteDuration] = scala.None, maxTries: Option[Int] = scala.None, immediateFirstAttempt: Boolean = true) extends RetryPolicy with Product with Serializable

    A RetryPolicy used to gradually back-off from retries of an operation.

  4. trait ChannelActions extends AnyRef

    This trait abstracts actions performed on a raw socket channel.

  5. abstract class ClientConnection extends Connection

  6. trait ClientConnectionHandler extends ConnectionHandler

    ClientConnectionHandler is a trait meant to be used with outgoing connections.

  7. abstract class Connection extends WriteBuffer with WriteEndpoint

  8. trait ConnectionHandle extends ConnectionInfo

    This trait contains all connection-level functions that should be accessable to a top-level user.

  9. trait ConnectionHandler extends WorkerItem

    This is the base trait for all connection handlers.

  10. trait ConnectionInfo extends AnyRef

    A trait encapsulating live information about a connection.

  11. class ConnectionLimiter extends AnyRef

    Used to control slow start of servers, this will exponentially increase its limit over a period of time until max is reached.

  12. case class ConnectionLimiterConfig(enabled: Boolean, initial: Int, duration: FiniteDuration) extends Product with Serializable

    Configuration object for connection limiting, used as part of server settings.

  13. trait ConnectionManager extends AnyRef

    This is implemented by colossus.core.PipelineHandler and contains all the methods made available to all layers extending the core layer

  14. case class ConnectionSnapshot(domain: String, host: InetAddress, id: Long, timeOpen: Long = 0, readIdle: Long = 0, writeIdle: Long = 0, bytesSent: Long = 0, bytesReceived: Long = 0) extends Product with Serializable

    This class is used to report some basic stats about a Connection.

  15. sealed trait ConnectionState extends AnyRef

  16. sealed trait ConnectionStatus extends AnyRef

    Represent the connection state.

  17. class Context extends AnyRef

    Represents the binding of an item to a worker

  18. trait CoreDownstream extends HasUpstream[CoreUpstream] with DownstreamEvents

    These are the methods that the downstream neighbor of the CoreHandler must implement

  19. abstract class CoreHandler extends ConnectionHandler

    This is the connection handler on which the controller and service layers are built.

  20. trait CoreUpstream extends ConnectionManager with UpstreamEvents

    These are the methods the Core layer directly exposes to its downstream neighbor which are generally not meant to be exposed further downstream

  21. case class DataBlock(data: Array[Byte]) extends Product with Serializable

    A low-overhead abstraction over a byte array.

  22. case class DataBuffer(data: ByteBuffer) extends Encoder with Product with Serializable

    A thin wrapper around a NIO ByteBuffer with data to read

  23. trait DataOutBuffer extends AnyRef

    The DataOutBuffer is a ConnectionHandler's interface for writing data out to the connection.

  24. sealed trait DisconnectCause extends RootDisconnectCause

    Messages representing why a disconnect occurred.

  25. sealed trait DisconnectError extends DisconnectCause

    Subset of DisconnectCause which represent errors which resulted in a disconnect.

  26. trait DownstreamEventHandler[T <: DownstreamEvents] extends DownstreamEvents with HasDownstream[T]

    This trait can be used for layers that are in the head or middle of a pipeline.

  27. trait DownstreamEvents extends WorkerItemEvents

    These are events that propagate to each layer starting from the head and moving downstream

  28. class DynamicOutBuffer extends DataOutBuffer

    A ByteBuffer-backed growable buffer.

  29. trait Encoder extends AnyRef

  30. trait HandlerTail extends UpstreamEvents

    This trait must be implemented by the last stage of a pipeline

  31. trait HasDownstream[T] extends AnyRef

    This must be implemented by any non-tail member of a pipeline

  32. trait HasUpstream[T] extends AnyRef

    This trait must be implemented by any non-head member of a pipeline.

  33. trait IdleCheck extends WorkerItem

    A mixin trait for worker items that defines a method which is periodically called by the worker.

  34. case class IncidentReport(totalTime: FiniteDuration, totalAttempts: Int) extends Product with Serializable

  35. case class InitContext(server: ServerRef, worker: WorkerRef) extends Product with Serializable

    An instance of this is handed to every new initializer for a server

  36. class InvalidConnectionStateException extends Exception

  37. trait KeyInterestManager extends ChannelActions

  38. trait ManualUnbindHandler extends ClientConnectionHandler

    A Simple mixin trait that will cause the worker to not automatically unbind this handler if the connection it's attached to is closed.

  39. sealed trait MoreDataResult extends AnyRef

  40. class PipelineHandler extends CoreHandler with CoreUpstream with ServerConnectionHandler with ClientConnectionHandler with IdleCheck

    The PipelineHandler forms the foundation of all pipeline-based connection handlers.

  41. trait ProxyActor extends WorkerItemEvents

    This is a mixin for WorkerItemEvents that gives it actor-like capabilities.

  42. sealed trait RetryAttempt extends AnyRef

    A RetryAttempt represents the next action that should be taken when retring an operation.

  43. trait RetryIncident extends AnyRef

    A RetryIncident is a state machine for managing the retry logic of a single incident of a failed operation.

  44. trait RetryPolicy extends AnyRef

    A RetryPolicy provides a scheme for managing controlled retries of some operation.

  45. abstract class ServerConnection extends Connection

  46. trait ServerConnectionHandler extends ConnectionHandler

    Mixin containing events just for server connection handlers

  47. case class ServerContext(server: ServerRef, context: Context) extends Product with Serializable

    An instance of this is handed to every new server connection handler

  48. case class ServerRef extends Product with Serializable

    A ServerRef is a handle to a created server.

  49. case class ServerSettings(port: Int, slowStart: ConnectionLimiterConfig = ConnectionLimiterConfig.NoLimiting, maxConnections: Int = 1000, maxIdleTime: Duration = ..., lowWatermarkPercentage: Double = 0.75, highWatermarkPercentage: Double = 0.85, highWaterMaxIdleTime: FiniteDuration = ..., tcpBacklogSize: Option[Int] = scala.None, bindingRetry: RetryPolicy = ..., delegatorCreationPolicy: WaitPolicy = ..., shutdownTimeout: FiniteDuration = ...) extends Product with Serializable

    Contains values for configuring how a Server operates

  50. sealed abstract class ShutdownAction extends AnyRef

  51. trait UpstreamEventHandler[T <: UpstreamEvents] extends UpstreamEvents with HasUpstream[T]

    An UpstreamEventHandler is generally implemented by members of a pipline that are neither the head nor tail.

  52. trait UpstreamEvents extends AnyRef

    These are events that propagate starting from the tail and move upstream

  53. case class WaitPolicy(waitTime: FiniteDuration, retryPolicy: RetryPolicy) extends Product with Serializable

    A WaitPolicy describes configuration for any process that needs to wait for some operation to complete, and if/how to retry the operation if it fails to complete within the waiting time.

  54. trait WatchedHandler extends ConnectionHandler

    A Watched handler allows an actor to be tied to a connection.

  55. sealed trait WorkerCommand extends AnyRef

    These are a different class of Commands to which a worker will respond.

  56. case class WorkerConfig(io: IOSystem, workerId: Int) extends Product with Serializable

    Contains the configuration for each Worker.

  57. trait WorkerItem extends WorkerItemEvents

    A WorkerItem is anything that can be bound to worker to receive both events and external messages.

  58. trait WorkerItemEvents extends AnyRef

    This trait contains event handler methods for when a worker item is bound and unbound to/from a worker.

  59. class WorkerItemException extends Exception

  60. class WorkerItemManager extends AnyRef

    This keeps track of all the bound worker items, and properly handles added/removing them

  61. class WorkerItemProxy extends Actor with Stash

  62. case class WorkerRef extends Product with Serializable

    This is a Worker's public interface.

  63. trait WriteEndpoint extends ConnectionHandle

    This is passed to handlers to give them a way to synchronously write to the connection.

  64. sealed trait WriteStatus extends AnyRef

Value Members

  1. object BackoffMultiplier

  2. object ConnectionLimiter

  3. object ConnectionLimiterConfig extends Serializable

  4. object ConnectionState

  5. object ConnectionStatus

  6. object DataBlock extends Serializable

  7. object DataBuffer extends Serializable

  8. object DisconnectCause

  9. object MoreDataResult

  10. object NoRetry extends RetryPolicy with RetryIncident with Product with Serializable

    A RetryPolicy that will never retry

  11. object PipelineHandler

  12. object ProxyActor

  13. object RetryAttempt

  14. object RetryPolicy

  15. object ServerSettings extends Serializable

  16. object ShutdownAction

  17. object WaitPolicy extends Serializable

  18. object Worker

    Like the server actor, it is critical that instances of this actor get their own thread, since they block when waiting for events.

  19. object WorkerCommand

  20. object WorkerItemProxy

  21. object WriteStatus

  22. package server

Ungrouped