ALPNServerSelector

org.http4s.blaze.http.http2.server.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.

Attributes

Source
ALPNServerSelector.scala
Graph
Supertypes
trait Tail[ByteBuffer]
trait Stage
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def name: String

Attributes

Definition Classes
Source
ALPNServerSelector.scala
override 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.

Attributes

Definition Classes
Source
ALPNServerSelector.scala

Inherited methods

Attributes

Inherited from:
Tail
Source
Stages.scala

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

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

Attributes

Inherited from:
Tail
Source
Stages.scala

Write a collection of outbound messages to the pipeline

Write a collection of outbound messages to the pipeline

Attributes

Inherited from:
Tail
Source
Stages.scala

Write a single outbound message to the pipeline with a timeout

Write a single outbound message to the pipeline with a timeout

Attributes

Inherited from:
Tail
Source
Stages.scala

Write a single outbound message to the pipeline

Write a single outbound message to the pipeline

Attributes

Inherited from:
Tail
Source
Stages.scala

Attributes

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.

Attributes

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.

Attributes

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

Attributes

Inherited from:
Stage
Source
Stages.scala

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.

Attributes

Inherited from:
Tail
Source
Stages.scala

Insert the MidStage before this Stage

Insert the MidStage before this Stage

Attributes

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.

Attributes

Inherited from:
Stage
Source
Stages.scala

Inherited fields

final protected val logger: Logger

Attributes

Inherited from:
Stage
Source
Stages.scala