governor 0.5.0

A rate-limiting implementation in Rust
Documentation
[package]
name = "governor"
version = "0.5.0"
authors = ["Andreas Fuchs <asf@boinkor.net>"]
edition = "2018"
license = "MIT"
homepage = "https://github.com/antifuchs/governor"
repository = "https://github.com/antifuchs/governor.git"
readme = "README.md"
description = "A rate-limiting implementation in Rust"
documentation = "https://docs.rs/governor"
categories = ["algorithms", "network-programming", "concurrency", "no-std"]
keywords = ["rate-limiting", "rate-limit", "no_std", "gcra"]

# We use criterion, don't infer benchmark files.
autobenches = false

[badges]
maintenance = { status = "actively-developed" }

[[bench]]
name = "governor_criterion_benches"
harness = false

[lib]
bench = false

[dev-dependencies]
criterion = {version = "0.3.2", features = ["html_reports"]}
tynm = "0.1.4"
crossbeam = "0.8.0"
libc = "0.2.70"
futures = "0.3.5"
proptest = "1.0.0"
all_asserts = "2.2.0"

[features]
default = ["std", "dashmap", "jitter", "quanta"]
std = ["no-std-compat/std", "nonzero_ext/std", "futures-timer", "futures"]
jitter = ["rand"]
no_std = ["no-std-compat/compat_hash"]

[dependencies]
nonzero_ext = { version = "0.3.0", default-features = false }
parking_lot = "0.12.0"
futures-timer = { version = "3.0.2", optional = true }
futures = { version = "0.3.5", optional = true }
rand = { version = "0.8.0", optional = true }
dashmap = { version = "5.1.0", optional = true }
quanta = { version = "0.9.0", optional = true }
no-std-compat = { version = "0.4.1", features = [ "alloc" ] }
cfg-if = "1.0"

# To ensure we don't pull in vulnerable smallvec, see https://github.com/antifuchs/governor/issues/60
smallvec = "1.6.1"