Interface Http2MultiplexerSupport
public interface Http2MultiplexerSupport
INTERNAL API
Multiplexes the outgoing side of the streams on a HTTP/2 connection.
Accepts the streams from the Pekko 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 enqueueOutStream if 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 calls sendDataFrame here. This calls pullNextFrame to get the next frame and more info about
what the state of the stream is afterwards.
- stream handling can call closeStream to remove a potentially enqueued stream
Mixed into the Http2ServerDemux graph logic.
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionvoidallowReadingIncomingFrames(boolean allow) Allows suspending reading of frames incoming from the networkcreateMultiplexer(StreamPrioritizer prioritizer) voiddistributeWindowDeltaToAllStreams(int delta) Called by the multiplexer after SETTINGS_INITIAL_WINDOW_SIZE has changedvoidCalled by the multiplexer before canceling the stage on outlet cancellationbooleanisServer()voidpullNextFrame(int streamId, int maxSize) Called by the multiplexer when ready to send a data framevoidpushFrameOut(FrameEvent event) settings()
-
Method Details
-
allowReadingIncomingFrames
void allowReadingIncomingFrames(boolean allow) Allows suspending reading of frames incoming from the network -
createMultiplexer
-
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
Called by the multiplexer when ready to send a data frame -
pushFrameOut
-
settings
Http2CommonSettings settings()
-