@@ -52,9 +52,13 @@ will cover four major parts needed for language-specific gRPC implementations:
52522 . Implement the client side of RLQS protocol (RLQS
5353 Client): ` StreamRateLimitQuotas.StreamRateLimitQuotas ` . It will establish
5454 bidirectional gRPC stream to the remote [ Rate Limit Quota Service] [ rlqs ] .
55- 3 . Implement a Server Interceptor (filter in C-core, later called
55+ 4 . Send and receive updates.
56+ 3 . Implement a HTTP filter (filter in C-core, later called
5657 "the Interceptor" for simplicity) that requests.
57- 4 . Send and receive updates.
58+ 5 . Fault modes
59+
60+
61+ /// per-host and per-route overrides
5862
5963### Related Proposals:
6064
@@ -69,7 +73,13 @@ will cover four major parts needed for language-specific gRPC implementations:
6973
7074### xDS types support
7175#### Unified Matchers
76+ add a note that we'll be using this in the future
77+ list specific matcher
78+ start from the assumption we implement both
79+
7280#### io.envoyproxy.envoy.config.core.v3.GrpcService.GoogleGrpc
81+ consider credential could be a security/ 3p trust issue.
82+ TODO(sergiitk): meeting with leads about this
7383#### Canonical CEL
7484
7585TODO(sergiitk): A precise statement of the proposed change.
@@ -86,7 +96,7 @@ TODO(sergiitk): A precise statement of the proposed change.
86963 . gRPC Server parses [ RateLimitQuotaFilterConfig.bucket_matchers] tree and
8797 caches it in the filter state.
88984 . gRPC Server installs a Server Interceptor (filter in C-core, later called
89- "the Interceptor" for simplicity)
99+ "the Interceptor" for simplicity) // TODO(sergiitk): HTTP filter
901005 . Once a request is intercepted by the Interceptor:
91101 - The request is matched into a Bucket by evaluating the ` bucket_matchers `
92102 tree against the request attributes.
@@ -95,7 +105,7 @@ TODO(sergiitk): A precise statement of the proposed change.
95105 throttled according
96106 to [ RateLimitQuotaBucketSettings.no_assignment_behavior] .
97107 - If the Bucket exists, the request is throttled according to Bucket's quota
98- assignment. Bucket's ` num_requests_allowed `
108+ assignment. Bucket's ` num_requests_allowed ` // TODO(sergiitk): explain what's throttle
99109 or ` num_requests_denied ` request counter is increased by one.
1001106 . For all existing buckets, a ` BucketQuotaUsage ` report is sent
101111 every [ RateLimitQuotaBucketSettings.reporting_interval]
@@ -104,6 +114,12 @@ TODO(sergiitk): A precise statement of the proposed change.
104114 time. Once received, it must the quota must be applied to a Bucket with
105115 matching [ bucket_id] .
106116
117+
118+ // TODO(sergiitk): think about it from the perspective what events needs to be handled:
119+ 1 . parsing config
120+ 2 . getting an update
121+ can be described with pseudo-code
122+
107123### Temporary environment variable protection
108124
109125During initial development, this feature will be enabled via the
0 commit comments