Rate-limiting and bandwidth accounting support
Rate-limiting and bandwidth accounting are mainly a matter for relays, but possibly some clients need them too?
This is likely to be a smaller ticket if we wind up doing a full set of token buckets for #88.
Current thinking is that this might not be necessary for onion service operators, only for relay operators. But I don't remember why.
I like the general design of the async_speed_limit
crate, though we might find that there are tricky architectural issues. Namely:
- Is that crate efficient enough for us?
- Is it fair enough for us?
- Where, in our architecture, does it make sense to hold on to a
Limiter
object?
Edited by Nick Mathewson