Stage

sealed trait Stage
class Object
trait Matchable
class Any
trait Head[O]
trait HeadStage[O]
trait MidStage[I, O]
class SSLStage
trait Tail[I]
trait TailStage[I]
class BasicTail[T]

Value members

Abstract methods

def closePipeline(cause: Option[Throwable]): Unit
def name: String

Concrete methods

Handle basic startup and shutdown commands.

Handle basic startup and shutdown commands.

Value Params
cmd

a command originating from the channel

protected def stageShutdown(): Unit

Shuts down the stage, deallocating resources, etc.

Shuts down the stage, deallocating resources, etc.

It will be called when the stage receives a Disconnected command unless inboundCommand is overridden. This method should not send or Disconnected commands.

It is possible that this will not be called due to failure of other stages to propagate shutdown commands. Conversely, it is also possible for this to be called more than once due to the reception of multiple shutdown commands. It is therefore recommended that the method be idempotent.

protected def stageStartup(): Unit

Start the stage, allocating resources etc.

Start the stage, allocating resources etc.

This method should not effect other stages by sending commands etc unless it creates them. It is not impossible that the stage will receive other commands besides Connected before this method is called. It is not impossible for this method to be called multiple times by misbehaving stages. It is therefore recommended that the method be idempotent.

Concrete fields

final protected val logger: Logger