-
-
Notifications
You must be signed in to change notification settings - Fork 15.8k
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
Avoid exposing HPACK classes #6591
Comments
@carl-mastrangelo @nmittler - I would like to propose reverting #6589 and instead submit a new PR which makes the necessary changes to |
@Scottmitch I think the reason for that file was to make unsafe assumptions gRPC can safely make. |
@carl-mastrangelo - Just to be sure I understand you...
GrpcHttp2HeadersDecoder? Can you clarify your thoughts on my suggestion above? Extending |
The |
@Scottmitch, your suggestion sounds fine. The main objective was just to override |
Yes this is my suggestion. Thanks for the feedback @carl-mastrangelo @ejona86 ... it sounds like we are on the same page. Let me move ahead with this approach. @carl-mastrangelo - I will ping you on the PR so you can make sure you have the necessary extension points in gRPC. |
… extensible Motivation: It is generally useful to override DefaultHttp2HeadersDecoder's creation of a new Http2Headers object so more optimized versions can be substituted if the use case allows for it. Modifications: - DefaultHttp2HeadersDecoder should support an overridable method to generate the new Http2Headers object for each decode operation Result: DefaultHttp2HeadersDecoder is more extensible. Fixes netty#6591.
We are keen to start using this change; @normanmaurer is there an ETA for 4.1.10 ? |
should be in the next couple weeks. |
… extensible Motivation: It is generally useful to override DefaultHttp2HeadersDecoder's creation of a new Http2Headers object so more optimized versions can be substituted if the use case allows for it. Modifications: - DefaultHttp2HeadersDecoder should support an overridable method to generate the new Http2Headers object for each decode operation Result: DefaultHttp2HeadersDecoder is more extensible. Fixes netty#6591.
… extensible Motivation: It is generally useful to override DefaultHttp2HeadersDecoder's creation of a new Http2Headers object so more optimized versions can be substituted if the use case allows for it. Modifications: - DefaultHttp2HeadersDecoder should support an overridable method to generate the new Http2Headers object for each decode operation Result: DefaultHttp2HeadersDecoder is more extensible. Fixes netty#6591.
HPACK is an internal detail of HTTP/2 and if possible it would be nice to avoid exposing this in the public interface of the codec-http2. Recently PR #6589 exposed
HpackDecoder
for extensibility reasons. In this particular case the extensibility point seemed to be focused on creating a different type ofHttp2Headers
object thanDefaultHttp2Headers
. I would like to propose an alternative approach to exposingHpackDecoder
and instead makeDefaultHttp2HeadersDecoder
's creation of theHttp2Header
object overridable. In this particular case GrpcHttp2HeadersDecoder is duplicating logic which also exists inDefaultHttp2HeadersDecoder
and IMO would be nice to remove this duplication and consolidate the logic inDefaultHttp2HeadersDecoder
.Related:
#6579
#6589
The text was updated successfully, but these errors were encountered: