Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP/2 pipeline NIOAsyncChannel pipeline config #403

Merged
merged 3 commits into from Jul 4, 2023

Conversation

rnro
Copy link
Contributor

@rnro rnro commented Jul 3, 2023

Motivation:

This continues the work to expose functionality which allows users to interact with HTTP/2 connections via async abstractions and using structured concurrency.

We build atop of previous work to configure pipelines to deal with HTTP/2 (with no protocol negotiation) and to wrap connection/stream channels with NIOAsyncChannels. This will allow users to iterate over streams and HTTP2Frames.

Modifications:

Provide functions which configure channels and pipelines with the HTTP2 handler, expose a multiplexer for dealing with streams and wrap connection and stream channels with NIOAsyncChannels.

Result:

Users will be able to create and interact with HTTP/2 connections via NIOAsyncChannels. Because HTTP/2 is a negotiated protocol and we do not yet handle it, this is of limited utility.

@rnro rnro requested a review from glbrntt July 3, 2023 10:34
Motivation:

This continues the work to expose functionality which allows users to interact
with HTTP/2 connections via async abstractions and using structured
concurrency.

We build atop of previous work to configure pipelines to deal with
HTTP/2 (with no protocol negotiation) and to wrap connection/stream
channels with `NIOAsyncChannel`s. This will allow users to iterate over
streams and HTTP2Frames.

Modifications:

Provide functions which configure channels and pipelines with the HTTP2
handler, expose a multiplexer for dealing with streams and wrap
connection and stream channels with `NIOAsyncChannel`s.

Result:

Users will be able to create and interact with HTTP/2 connections via
`NIOAsyncChannel`s. Because HTTP/2 is a negotiated protocol and we do
not yet handle it, this is of limited utility.
@rnro rnro force-pushed the async_channels_nio_async_channel branch from d46839c to a186116 Compare July 3, 2023 12:17
@rnro rnro requested a review from glbrntt July 3, 2023 14:58
@rnro rnro force-pushed the async_channels_nio_async_channel branch from 2ab9b08 to 664601a Compare July 3, 2023 15:28
Copy link
Contributor

@glbrntt glbrntt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit, looks good otherwise

…wift

Co-authored-by: George Barnett <gbarnett@apple.com>
@rnro rnro requested a review from glbrntt July 3, 2023 15:49
@rnro rnro merged commit e0ffed7 into apple:main Jul 4, 2023
8 checks passed
@rnro rnro deleted the async_channels_nio_async_channel branch July 4, 2023 05:22
@rnro rnro added the needs-no-version-bump For PRs that when merged do not need a bump in version number. label Oct 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-no-version-bump For PRs that when merged do not need a bump in version number.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants