Package akka.http.impl.engine.http2
Interface Http2MultiplexerSupport
-
public interface Http2MultiplexerSupportINTERNAL APIMultiplexes the outgoing side of the streams on a HTTP/2 connection. Accepts the streams from the Akka HTTP side and turns them into
FrameEvents to be passed to the network side.The main interface between stream handling and multiplexing is this:
- stream handling can call
enqueueOutStreamif a stream wants to send a data frame - if there's connection window and the network pulls and there are no control frames to send, the multiplexer state machine callssendDataFramehere. This callspullNextFrameto get the next frame and more info about what the state of the stream is afterwards. - stream handling can callcloseStreamto remove a potentially enqueued streamMixed into the Http2ServerDemux graph logic.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceHttp2MultiplexerSupport.StateTimingSupport
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidallowReadingIncomingFrames(boolean allow)Allows suspending reading of frames incoming from the networkHttp2MultiplexercreateMultiplexer(StreamPrioritizer prioritizer)voiddistributeWindowDeltaToAllStreams(int delta)Called by the multiplexer after SETTINGS_INITIAL_WINDOW_SIZE has changedvoidframeOutFinished()Called by the multiplexer before canceling the stage on outlet cancellationbooleanisServer()voidonAllDataFlushed()PullFrameResultpullNextFrame(int streamId, int maxSize)Called by the multiplexer when ready to send a data framevoidpushFrameOut(FrameEvent event)Http2CommonSettingssettings()
-
-
-
Method Detail
-
allowReadingIncomingFrames
void allowReadingIncomingFrames(boolean allow)
Allows suspending reading of frames incoming from the network
-
createMultiplexer
Http2Multiplexer createMultiplexer(StreamPrioritizer prioritizer)
-
distributeWindowDeltaToAllStreams
void distributeWindowDeltaToAllStreams(int delta)
Called by the multiplexer after SETTINGS_INITIAL_WINDOW_SIZE has changed
-
frameOutFinished
void frameOutFinished()
Called by the multiplexer before canceling the stage on outlet cancellation
-
isServer
boolean isServer()
-
onAllDataFlushed
void onAllDataFlushed()
-
pullNextFrame
PullFrameResult pullNextFrame(int streamId, int maxSize)
Called by the multiplexer when ready to send a data frame
-
pushFrameOut
void pushFrameOut(FrameEvent event)
-
settings
Http2CommonSettings settings()
-
-