Trait

colossus.controller

InputController

Related Doc: package controller

Permalink

trait InputController[Input, Output] extends WorkerItem with MasterController[Input, Output]

The InputController maintains all state dealing with reading in messages in a controller. It handles decoding messages and properly routing data into stream

When pushing data into a stream, the controller has some very specific behavior regarding the PushResult from the stream. - Terminating the stream at any point kills the connection - Closing a stream outside of a pull callback will kill the connection without logging the error - Closing a stream inside of a pull callback will complete the stream and the controller will resset

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. InputController
  2. MasterController
  3. IdleCheck
  4. ConnectionHandler
  5. WorkerItem
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def codec: Codec[Output, Input]

    Permalink
    Attributes
    protected
    Definition Classes
    MasterController
  2. abstract def connected(endpoint: WriteEndpoint): Unit

    Permalink

    This handler is called when a Worker new Connection is established.

    This handler is called when a Worker new Connection is established. A Connection can be either an incoming (ie: something to connected to the server), or outgoing(ie: the server connected to a remote system).

    endpoint

    The endpoint which wraps the java NIO layer.

    Definition Classes
    ConnectionHandler
  3. abstract def connectionClosed(cause: DisconnectCause): Unit

    Permalink

    Connection was closed on our end, either by a shutdown, or by normal means

    Connection was closed on our end, either by a shutdown, or by normal means

    cause

    why the connection was closed

    Attributes
    protected
    Definition Classes
    ConnectionHandler
  4. abstract def connectionLost(cause: DisconnectError): Unit

    Permalink

    Connection lost is caused by termination, closed, etc

    Connection lost is caused by termination, closed, etc

    cause

    why the connection was lost

    Attributes
    protected
    Definition Classes
    ConnectionHandler
  5. abstract def connectionState: ConnectionState

    Permalink
    Attributes
    protected
    Definition Classes
    MasterController
  6. abstract def controllerConfig: ControllerConfig

    Permalink
    Attributes
    protected
    Definition Classes
    MasterController
  7. abstract def disconnect(): Unit

    Permalink
    Definition Classes
    MasterController
  8. abstract def fatalInputError(reason: Throwable): Unit

    Permalink
    Attributes
    protected
  9. abstract def idleCheck(period: FiniteDuration): Unit

    Permalink

    Called periodically on every attached connection handler, this can be used for checking if an ongoing operation has timed out.

    Called periodically on every attached connection handler, this can be used for checking if an ongoing operation has timed out.

    Be aware that this is totally independant of a connection's idle timeout, which is only based on the last time there was any I/O.

    period

    the frequency at which this method is called. Currently this is hardcoded to WorkerManager.IdleCheckFrequency, but may become application dependent in the future.

    Definition Classes
    IdleCheck
  10. implicit abstract def namespace: MetricNamespace

    Permalink
    Definition Classes
    MasterController
  11. abstract def processMessage(message: Input): Unit

    Permalink
    Attributes
    protected
  12. abstract def readyForData(buffer: DataOutBuffer): MoreDataResult

    Permalink
    Definition Classes
    ConnectionHandler
  13. abstract def receivedMessage(message: Any, sender: ActorRef): Unit

    Permalink

    Provides a way to send this WorkerItem a message from an Actor by way of WorkerCommand.Message.

    Provides a way to send this WorkerItem a message from an Actor by way of WorkerCommand.Message.

    message

    The message that was sent

    sender

    The sender who sent the message

    Definition Classes
    WorkerItem

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. def connectionTerminated(cause: DisconnectCause): Unit

    Permalink

    Called from Worker when a connection has been terminated either by an error or by normal means.

    Called from Worker when a connection has been terminated either by an error or by normal means.

    cause

    why the connection was terminated

    Definition Classes
    ConnectionHandler
  7. val context: Context

    Permalink
    Definition Classes
    WorkerItem
  8. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  9. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  13. def id: Long

    Permalink
    Definition Classes
    WorkerItem
  14. lazy val inputSizeHistogram: Option[Histogram]

    Permalink
  15. lazy val inputSizeTracker: ParserSizeTracker

    Permalink
  16. def isBound: Boolean

    Permalink
    Definition Classes
    WorkerItem
  17. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  18. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  19. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  20. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  21. def onBind(): Unit

    Permalink

    Called when the item is bound to a worker.

    Called when the item is bound to a worker.

    Attributes
    protected
    Definition Classes
    WorkerItem
  22. def onUnbind(): Unit

    Permalink

    Called when the item has been unbound from a worker

    Called when the item has been unbound from a worker

    Attributes
    protected
    Definition Classes
    WorkerItem
  23. def pauseReads(): Unit

    Permalink
    Attributes
    protected
  24. def processBadRequest(reason: Throwable): Option[Output]

    Permalink
    Attributes
    protected
  25. def readsEnabled: Boolean

    Permalink
  26. def receivedData(data: DataBuffer): Unit

    Permalink

    Handler which is called when data is received from a Connection.

    Handler which is called when data is received from a Connection.

    data

    DataBuffer read from the underlying Connection.

    Definition Classes
    InputControllerConnectionHandler
  27. def resumeReads(): Unit

    Permalink
    Attributes
    protected
  28. def shutdownRequest(): Unit

    Permalink

    A Request has been made to shutdown this WorkerItem.

    A Request has been made to shutdown this WorkerItem. By default this will simply unbind the item from its Worker, but this can be overriden to add in custom shutdown behaviors. Be aware that in some cases this method may not be called and the item will be unbound, such as when an IOSystem is shutting down.

    Definition Classes
    WorkerItem
  29. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  30. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  31. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. def worker: WorkerRef

    Permalink
    Definition Classes
    WorkerItem

Inherited from MasterController[Input, Output]

Inherited from IdleCheck

Inherited from ConnectionHandler

Inherited from WorkerItem

Inherited from AnyRef

Inherited from Any

Ungrouped