We have a use case in https://github.com/vectordotdev/vector/pull/14280 where it would be useful to have multiple rate limiters apply to the same input stream where if any one of them fails to check we consider it limited. The trick is, if one rate limiter fails to take tokens, we don't want to have consumed tokens from the other rate limiters that have been checked (or we want to readd tokens to the checked rate limiter).
Is there a way to do this that I'm missing? Or would this require some changes to this crate?
Hey!
We have a use case in https://github.com/vectordotdev/vector/pull/14280 where it would be useful to have multiple rate limiters apply to the same input stream where if any one of them fails to
check
we consider it limited. The trick is, if one rate limiter fails to take tokens, we don't want to have consumed tokens from the other rate limiters that have been checked (or we want to readd tokens to the checked rate limiter).Is there a way to do this that I'm missing? Or would this require some changes to this crate?