-
Notifications
You must be signed in to change notification settings - Fork 5.3k
http: add HCM functionality required for rate limiting #6242
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1734,6 +1734,11 @@ void ConnectionManagerImpl::ActiveStreamDecoderFilter::addDecodedData(Buffer::In | |
| parent_.addDecodedData(*this, data, streaming); | ||
| } | ||
|
|
||
| void ConnectionManagerImpl::ActiveStreamDecoderFilter::injectDecodedDataToFilterChain( | ||
| Buffer::Instance& data, bool end_stream) { | ||
| parent_.decodeData(this, data, end_stream); | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Will this require some extra work on the StopAllIteration PR? If so, anything we can do here to reduce merge complexity?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I don't think this should cause any issues/conflicts, other than maybe wanting some more asserts on when this shouldn't be called. @soya3129 WDYT?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree some conditions/checks may be needed for StopAllIteration case. For example, checking if the current filter returns StopAllIteration for headers. Maybe add a more detailed comment about when injectDecodedDataToFilterChain() should be called? For example, injectDecodedDataToFilterChain() can be called only when iteration for data on this filter is not stopped(?). What will happen if one subsequent filter stops all iteration for headers? Do we need to buffer the injected data somewhere in case buffer is required?
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
It should still work if headers was stopped and even if the data was previously buffered. Do you still think the comments need updating with the new version?
This should still work. If the next filter in the filter chain decides to buffer data it should work fine.
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see. Got it. Thanks! |
||
| } | ||
|
|
||
| void ConnectionManagerImpl::ActiveStreamDecoderFilter::continueDecoding() { commonContinue(); } | ||
|
|
||
| void ConnectionManagerImpl::ActiveStreamDecoderFilter::encode100ContinueHeaders( | ||
|
|
@@ -1850,6 +1855,11 @@ void ConnectionManagerImpl::ActiveStreamEncoderFilter::addEncodedData(Buffer::In | |
| return parent_.addEncodedData(*this, data, streaming); | ||
| } | ||
|
|
||
| void ConnectionManagerImpl::ActiveStreamEncoderFilter::injectEncodedDataToFilterChain( | ||
| Buffer::Instance& data, bool end_stream) { | ||
| parent_.encodeData(this, data, end_stream); | ||
| } | ||
|
|
||
| HeaderMap& ConnectionManagerImpl::ActiveStreamEncoderFilter::addEncodedTrailers() { | ||
| return parent_.addEncodedTrailers(); | ||
| } | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.