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. sealed trait ConnectionVolumeState extends AnyRef

    ConnectionVolumeState indicates whether or not if the Server is operating with a normal workload, which is represented by the current ratio of used / available connections being beneath the ServerSettings.

  18. class Context extends AnyRef

    Represents the binding of an item to a worker

  19. trait CoreDownstream extends HasUpstream[CoreUpstream] with DownstreamEvents

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

  20. abstract class CoreHandler extends ConnectionHandler

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

  21. 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

  22. class DSLDelegator extends Delegator

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

    A low-overhead abstraction over a byte array.

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

    A thin wrapper around a NIO ByteBuffer with data to read

  25. trait DataOutBuffer extends AnyRef

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

  26. abstract class Delegator extends AnyRef

    A Delegator is in charge of creating new ConnectionHandler’s for each new connection.

  27. sealed trait DisconnectCause extends RootDisconnectCause

    Messages representing why a disconnect occurred.

  28. sealed trait DisconnectError extends DisconnectCause

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

  29. 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.

  30. trait DownstreamEvents extends WorkerItemEvents

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

  31. class DynamicOutBuffer extends DataOutBuffer

    A ByteBuffer-backed growable buffer.

  32. trait Encoder extends AnyRef

  33. trait HandlerTail extends UpstreamEvents

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

  34. trait HasDownstream[T] extends AnyRef

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

  35. trait HasUpstream[T] extends AnyRef

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

  36. trait IdleCheck extends WorkerItem

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

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

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

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

  39. abstract class Initializer extends AnyRef

    An Initializer is used to perform any setup/coordination logic for a Server! inside a Worker.

  40. class InvalidConnectionStateException extends Exception

  41. trait KeyInterestManager extends ChannelActions

  42. 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.

  43. sealed trait MoreDataResult extends AnyRef

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

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

  45. trait ProxyActor extends WorkerItemEvents

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

  46. sealed trait RetryAttempt extends AnyRef

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

  47. trait RetryIncident extends AnyRef

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

  48. trait RetryPolicy extends AnyRef

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

  49. case class ServerConfig(name: MetricAddress, delegatorFactory: (ServerRef, WorkerRef) ⇒ Delegator, settings: ServerSettings) extends Product with Serializable

    Configuration used to specify a Server's application-level behavior

  50. abstract class ServerConnection extends Connection

  51. trait ServerConnectionHandler extends ConnectionHandler

    Mixin containing events just for server connection handlers

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

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

  53. trait ServerDSL extends AnyRef

  54. case class ServerRef extends Product with Serializable

    A ServerRef is a handle to a created server.

  55. 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

  56. case class ServerState(connectionVolumeState: ConnectionVolumeState, serverStatus: ServerStatus) extends Product with Serializable

    Represents the current state of a Server.

  57. sealed trait ServerStatus extends AnyRef

    Represents the startup status of the server.

  58. sealed abstract class ShutdownAction extends AnyRef

  59. 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.

  60. trait UpstreamEvents extends AnyRef

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

  61. 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.

  62. trait WatchedHandler extends ConnectionHandler

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

  63. sealed trait WorkerCommand extends AnyRef

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

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

    Contains the configuration for each Worker.

  65. trait WorkerItem extends WorkerItemEvents

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

  66. trait WorkerItemEvents extends AnyRef

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

  67. class WorkerItemException extends Exception

  68. class WorkerItemManager extends AnyRef

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

  69. class WorkerItemProxy extends Actor with Stash

  70. case class WorkerRef extends Product with Serializable

    This is a Worker's public interface.

  71. trait WriteEndpoint extends ConnectionHandle

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

  72. 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 ConnectionVolumeState

  7. object DataBlock extends Serializable

  8. object DataBuffer extends Serializable

  9. object Delegator

  10. object DisconnectCause

  11. object MoreDataResult

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

    A RetryPolicy that will never retry

  13. object PipelineHandler

  14. object ProxyActor

  15. object RetryAttempt

  16. object RetryPolicy

  17. object Server extends ServerDSL

    The entry point for starting a Server

  18. object ServerDSL

  19. object ServerSettings extends Serializable

  20. object ServerStatus

  21. object ShutdownAction

  22. object WaitPolicy extends Serializable

  23. 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.

  24. object WorkerCommand

  25. object WorkerItemProxy

  26. object WriteStatus

Ungrouped