Expose (as spi) generic helpers for HTTP/2 async pipelines
Motivation:
This PR is the first step in exposing APIs which surface HTTP/2 connections/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:
Define types and methods for storing generic types which wrap Channels corresponding to inbound HTTP/2 streams in an async sequence.
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.
Expose (as spi) generic helpers for HTTP/2 async pipelines
Motivation:
This PR is the first step in exposing APIs which surface HTTP/2 connections/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:
Channels
corresponding to inbound HTTP/2 streams in an async sequence.streamInitializer
on the common inbound initializer which is used to initialize inbound streams before yielding them to the continuation of streams.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.