-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Add the ability to turn off huffman for given http2 protocol option. #42263
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Kevin Baichoo <[email protected]>
|
CC @envoyproxy/api-shepherds: Your approval is needed for changes made to |
|
Assigning @RyanTheOptimist as a reviewer (legacy from #38270). Feel free to reassign if needed. |
|
Dependency change is the addition of a patch. Requires API review too /lgtm deps |
| // Disables encoding the headers using huffman encoding. | ||
| // This can be useful in cases where the cpu spent encoding the headers isn't | ||
| // worth the network bandwidth saved e.g. for localhost. | ||
| bool disable_huffman = 18; |
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.
nit: consider naming this disable_huffman_encoding because, aiui, this does not disable huffman decoding, right?
| if (http2_options.has_hpack_table_size() && http2_options.hpack_table_size().value() == 0) { | ||
| og_options_.compression_option = http2::adapter::OgHttp2Session::Options::DISABLE_HUFFMAN; | ||
| } else { | ||
| og_options_.compression_option = http2::adapter::OgHttp2Session::Options::DISABLE_COMPRESSION; |
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.
Is this reversed? I would this we would disable compression when the table size is 0?
Commit Message: Add the ability to selectively remove huffman encoding headers as the sender for a given hop.
Additional Description: This is just #38270 without the wonked git history from being an old PR.
Risk Level: low (off by default)
Testing: Unit test, Running in Prod
Docs Changes: n/a
Release Notes: included
Platform Specific Features: n/a
Fixes: #38025