[package] name = "tocket" version = "0.2.1" authors = ["LazyMechanic "] edition = "2021" license = "MIT OR Apache-2.0" description = "A implemetation of 'Token Bucket' algorithm" repository = "https://github.com/LazyMechanic/tocket" documentation = "https://docs.rs/tocket" readme = "README.md" categories = ["algorithms", "web-programming"] keywords = ["token", "bucket", "rate", "limit"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] async-trait = { version = "0.1", optional = true } borsh = { version = "0.9", optional = true } bytes = { version = "1.1", optional = true } crc32fast = { version = "1.3", optional = true } futures = { version = "0.3", optional = true } parking_lot = "0.12" redis = { version = "0.21", optional = true } thiserror = "1.0" time = "0.3" tokio = { version = "1.17", features = ["net", "rt", "macros", "sync"], optional = true } tokio-util = { version = "0.7", features = ["codec", "net"], optional = true } tracing = "0.1" [dev-dependencies] tokio = { version = "1.17", features = ["full"] } criterion = "0.3.5" crossbeam = "0.8.1" uuid = { version = "1.0", features = ["v4"] } [features] default = [] redis-impl = ["redis"] distributed-impl = ["async-trait", "borsh", "bytes", "crc32fast", "futures", "tokio", "tokio-util"] [[bench]] name = "bench_main" harness = false [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"]