public class Http2Blueprint$
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static Http2Blueprint$ |
MODULE$
Static reference to the singleton instance of this Scala object.
|
Constructor and Description |
---|
Http2Blueprint$() |
Modifier and Type | Method and Description |
---|---|
akka.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,akka.NotUsed> |
demux(Http2ServerSettings settings)
Creates substreams for every stream and manages stream state machines
and handles priorization (TODO: later)
|
akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed> |
framing() |
akka.stream.scaladsl.Flow<HttpRequest,HttpResponse,akka.NotUsed> |
handleWithStreamIdHeader(int parallelism,
scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler,
scala.concurrent.ExecutionContext ec)
Returns a flow that handles
parallelism requests in parallel, automatically keeping track of the
Http2StreamIdHeader between request and responses. |
akka.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,akka.NotUsed> |
hpackCoding()
Runs hpack encoding and decoding.
|
akka.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,akka.NotUsed> |
httpLayer(ServerSettings settings,
akka.event.LoggingAdapter log)
Translation between substream frames and Http messages (both directions)
|
void |
logParsingError(ErrorInfo info,
akka.event.LoggingAdapter log,
ParserSettings.ErrorLoggingVerbosity setting) |
akka.stream.scaladsl.BidiFlow<HttpResponse,akka.util.ByteString,akka.util.ByteString,HttpRequest,akka.NotUsed> |
serverStack(ServerSettings settings,
akka.event.LoggingAdapter log) |
public static final Http2Blueprint$ MODULE$
public akka.stream.scaladsl.BidiFlow<HttpResponse,akka.util.ByteString,akka.util.ByteString,HttpRequest,akka.NotUsed> serverStack(ServerSettings settings, akka.event.LoggingAdapter log)
public akka.stream.scaladsl.BidiFlow<FrameEvent,akka.util.ByteString,akka.util.ByteString,FrameEvent,akka.NotUsed> framing()
public akka.stream.scaladsl.BidiFlow<FrameEvent,FrameEvent,FrameEvent,FrameEvent,akka.NotUsed> hpackCoding()
TODO: introduce another FrameEvent type that exclude HeadersFrame and ContinuationFrame from reaching the higher-level.
public akka.stream.scaladsl.BidiFlow<Http2SubStream,FrameEvent,FrameEvent,Http2SubStream,akka.NotUsed> demux(Http2ServerSettings settings)
settings
- (undocumented)public akka.stream.scaladsl.BidiFlow<HttpResponse,Http2SubStream,Http2SubStream,HttpRequest,akka.NotUsed> httpLayer(ServerSettings settings, akka.event.LoggingAdapter log)
To make use of parallelism requests and responses need to be associated (other than by ordering), suggestion is to add a special (virtual) header containing the streamId (or any other kind of token) is added to the HttRequest that must be reproduced in an HttpResponse. This can be done automatically for the bindAndHandleAsync API but for bindAndHandle the user needs to take of this manually.
settings
- (undocumented)log
- (undocumented)public akka.stream.scaladsl.Flow<HttpRequest,HttpResponse,akka.NotUsed> handleWithStreamIdHeader(int parallelism, scala.Function1<HttpRequest,scala.concurrent.Future<HttpResponse>> handler, scala.concurrent.ExecutionContext ec)
parallelism
requests in parallel, automatically keeping track of the
Http2StreamIdHeader between request and responses.parallelism
- (undocumented)handler
- (undocumented)ec
- (undocumented)public void logParsingError(ErrorInfo info, akka.event.LoggingAdapter log, ParserSettings.ErrorLoggingVerbosity setting)