envoy
envoy copied to clipboard
flow control: side stream flow control part 1
Description: This PR implements flow control (part 1) : side stream applies back pressure to downstream. It hooks up the watermark callbacks and registration in envoy-gRPC. When it is above buffer watermark, the high watermark callback will fire; watermark event will be populated and eventually inform the downstream (data source) stop sending the data.
Tests: Envoy-gRPC test: Verifies that expected high/low watermark callbacks are triggered when large request is sent. ext_proc test: Verifies that expected flow control stats are triggered (by watermark callbacks and events) when large request is sent.
As a reminder, PRs marked as draft will not be automatically assigned reviewers, or be handled by maintainer-oncall triage.
Please mark your PR as ready when you want it to be reviewed!
/assign @yanavlasov @htuch @alyssawilk
PTAL, Thanks!
/retest
CC @envoyproxy/runtime-guard-changes: FYI only for changes made to (source/common/runtime/runtime_features.cc).
/retest
/retest
adding cross-company reviewer for at least the first PR in the series - I'll assume LGTM here is LGTM for the four-fold flow control integration unless otherwise specified.