-
Notifications
You must be signed in to change notification settings - Fork 75
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Generic helpers for HTTP/2 async pipelines (#401)
* Store HTTP/2 inbound streams as async sequence Motivation: In preparation for exposing APIs which surface HTTP/2 connections and streams using structured concurrency this PR introduces a store for inbound HTTP/2 streams. Modifications: Define types and methods for storing generic types which wrap `Channels` corresponding to inbound HTTP/2 streams in an async sequence. Result: The new types are not yet exposed, this work introduces part of the framework for future functionality. * Expose (as spi) helpers for H2 async pipelines Motivation: This PR is the first step in exposing APIs which surface HTTP/2 connections and streams using structured concurrency. This PR exposes the most abstract spelling of this concept, assuming no particular types/forms for the types involved in the stream channel types. Modifications: * Store a generic `streamInitializer` on the common inbound initializer which is used to initialize inbound streams before yielding them to the continuation of streams. * Expose pipeline configuration functions which assume HTTP/2 but nothing else about sream channel types. * Provide internal functions for creating streams without configuring them. Configuring leads to activation so it can be helpful to allow that step to be performed manually once any provided initialization closures have beenn executed. Result: Adopters of the new SPI should be able to create outbound and deal with inbound HTTP/2 stream channels using async streams. Outside of SPI there should be no changes.
- Loading branch information
Showing
17 changed files
with
787 additions
and
100 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.