ALPNServerSelector

final class ALPNServerSelector(engine: SSLEngine, selector: Set[String] => String, builder: String => LeafBuilder[ByteBuffer]) extends TailStage[ByteBuffer]

Dynamically inject an appropriate pipeline using ALPN negotiation.

Value parameters:
builder

builds the appropriate pipeline based on the negotiated protocol

engine

the SSLEngine in use for the connection

selector

selects the preferred protocol from the sequence of supported clients. May receive an empty sequence.

Source:
ALPNServerSelector.scala
trait Stage
class Object
trait Matchable
class Any

Value members

Concrete methods

override def name: String
Definition Classes
Source:
ALPNServerSelector.scala
override protected def stageStartup(): Unit
Definition Classes
Source:
ALPNServerSelector.scala

Inherited methods

def channelRead(size: Int, timeout: Duration): Future[ByteBuffer]
Inherited from:
Tail
Source:
Stages.scala
final def channelWrite(data: Seq[ByteBuffer], timeout: Duration): Future[Unit]

Write a collection of outbound messages to the pipeline with a timeout

Write a collection of outbound messages to the pipeline with a timeout

Inherited from:
Tail
Source:
Stages.scala

Write a collection of outbound messages to the pipeline

Write a collection of outbound messages to the pipeline

Inherited from:
Tail
Source:
Stages.scala
final def channelWrite(data: ByteBuffer, timeout: Duration): Future[Unit]

Write a single outbound message to the pipeline with a timeout

Write a single outbound message to the pipeline with a timeout

Inherited from:
Tail
Source:
Stages.scala

Write a single outbound message to the pipeline

Write a single outbound message to the pipeline

Inherited from:
Tail
Source:
Stages.scala
final def closePipeline(cause: Option[Throwable]): Unit
Inherited from:
Tail
Source:
Stages.scala
final def findOutboundStage[C <: Stage](clazz: Class[C]): Option[C]

Find the next outbound Stage of type C, if it exists.

Find the next outbound Stage of type C, if it exists.

Inherited from:
Tail
Source:
Stages.scala

Find the next outbound Stage with the given name, if it exists.

Find the next outbound Stage with the given name, if it exists.

Inherited from:
Tail
Source:
Stages.scala

Handle basic startup and shutdown commands.

Handle basic startup and shutdown commands.

Value parameters:
cmd

a command originating from the channel

Inherited from:
Stage
Source:
Stages.scala
final def replaceTail(leafBuilder: LeafBuilder[ByteBuffer], startup: Boolean): ALPNServerSelector

Replace all downstream Stages, including this Stage.

Replace all downstream Stages, including this Stage.

If this was a MidStage, its inbound element is notified via a Disconnected Command.

Inherited from:
Tail
Source:
Stages.scala

Insert the MidStage before this Stage

Insert the MidStage before this Stage

Inherited from:
Tail
Source:
Stages.scala
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.

Inherited from:
Stage
Source:
Stages.scala

Inherited fields

final protected val logger: Logger
Inherited from:
Stage
Source:
Stages.scala