rater 0.1.1

High-performance, lock-free, thread-safe rate limiter using token bucket algorithm with per-IP rate limiting support
Documentation
[badges.maintenance]
status = "actively-developed"

[dependencies.ahash]
version = "0.8"

[dependencies.dashmap]
version = "6"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.serde_json]
optional = true
version = "1.0"

[dependencies.tracing]
version = "0.1"

[dev-dependencies.criterion]
version = "0.7"

[features]
default = []
full = ["serde"]
serde = ["dep:serde", "dep:serde_json"]

[lib]
name = "rater"
path = "src/lib.rs"

[package]
authors = ["Khaled <khaledsmq@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "web-programming", "concurrency", "algorithms", "asynchronous"]
description = "High-performance, lock-free, thread-safe rate limiter using token bucket algorithm with per-IP rate limiting support"
documentation = "https://docs.rs/rater"
edition = "2021"
exclude = [".github/*", ".gitignore", "tests/*", "benches/*", "examples/*"]
homepage = "https://github.com/khaledsmq/rater"
keywords = ["rate-limiter", "rate-limiting", "throttle", "token-bucket", "concurrent"]
license = "MIT OR Apache-2.0"
name = "rater"
readme = "README.md"
repository = "https://github.com/khaledsmq/rater"
rust-version = "1.70.0"
version = "0.1.1"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[profile.bench]
inherits = "release"

[profile.release]
codegen-units = 1
lto = true
opt-level = 3
panic = "abort"