An in-memory rate limiter that can make decisions for a single situation.
An object that allows incrementally constructing rate Limiter objects.
An in-memory rate limiter that makes direct (un-keyed) rate-limiting decisions. Direct rate limiters can be used to e.g. regulate the transmission of packets on a single connection, or to ensure that an API client stays within a server's rate limit.