Module ratelimit_meter::algorithms [] [src]

Reexports

pub use self::gcra::GCRA;

Modules

gcra

Structs

LeakyBucket

Implements the industry-standard leaky bucket rate-limiting as-a-meter. The bucket keeps a "fill height", pretending to drip steadily (which reduces the fill height), and increases the fill height with every cell that is found conforming. If cells would make the bucket overflow, they count as non-conforming.

Threadsafe

A wrapper that ensures operations in otherwise thread-unsafe rate-limiting decision algorithms are thread-safe. This is implemented by wrapping the actual Decider implementation in an atomically reference-counted mutex. It takes out a mutex whenever .test_and_update() is called.