-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
In thinking about actually implementing the rate rate limiting portion of #5942, I realized that we don't really have any good way to do what is required for either rate limiting body data or generally building a filter that emits data on a periodic basis, while potentially still buffering/watermarking incoming data.
The most well-formed thought I have right now (which isn't very formed) is something like: add explicit decodeData(...) / encodeData(...) calls which allow a decoding / encoding filter to directly inject data to further filters. This is different from commonContinue() in the sense that we would not be using HCM buffering. This would allow buffering/watermarking of incoming data to be disjoint from continued data. The downside to this is I don't think it would correctly work if a further filter buffers.
I've also considered some capability to continue only a portion of the buffered data using some kind of buffer slice, but that also seems very complicated.
I'm going to think about this more tomorrow, but I figured I would open an issue to see if anyone that has been working in this space recently has thought about this already or has any good ideas. If not I will report back! cc @alyssawilk @snowp @soya3129 @lizan