-
Notifications
You must be signed in to change notification settings - Fork 419
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
Provide a channel handler using the client state machine #601
Conversation
Motivation: 8db70dd (grpc#580) introduced a client state machine which enables us to reduce the number of channel handlers the client has and confine much of the stream state tracking to a single place. However, none of our channel handlers were designed to use it! Modifications: Create a client channel handler using the aforementioned state machine and update the state machine to talk in HTTP/2 concepts to avoid having to use an additional handler to translate between HTTP/1 and HTTP/2 concepts. Result: Functionally, nothing, as the channel handler is not yet used.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks very good overall; no objections to the logic. My biggest concern would be about dropping gRPC-Web support; not sure if we can/should simply leave transcoding to an out-of-process proxy dedicated to that.
@MrMage are you okay with these changes / can I merge? |
Yes, sorry! |
No problem :) |
Motivation:
8db70dd (#580) introduced a client state machine which enables us to
reduce the number of channel handlers the client has and confine much of
the stream state tracking to a single place. However, none of our
channel handlers were designed to use it!
Modifications:
Create a client channel handler using the aforementioned state machine
and update the state machine to talk in HTTP/2 concepts to avoid having
to use an additional handler to translate between HTTP/1 and HTTP/2
concepts.
Result:
Functionally, nothing, as the channel handler is not yet used.