[package]
edition = "2024"
rust-version = "1.85"
name = "ritlers"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A task-length aware rate limiter that waits for tasks to finish before counting them against the rate limit"
readme = "README.md"
keywords = [
"rate-limiter",
"rate-limit",
"retry",
"async",
"tokio",
]
categories = [
"web-programming::http-client",
"concurrency",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Florisheinen1/ritlers"
[package.metadata.docs.rs]
all-features = true
[features]
async = ["dep:tokio"]
blocking = []
default = ["blocking"]
[lib]
name = "ritlers"
path = "src/lib.rs"
[[example]]
name = "example_async"
path = "examples/example_async.rs"
required-features = ["async"]
[[example]]
name = "example_blocking"
path = "examples/example_blocking.rs"
[[example]]
name = "example_dogs"
path = "examples/example_dogs.rs"
required-features = ["async"]
[[example]]
name = "example_retry_async"
path = "examples/example_retry_async.rs"
required-features = ["async"]
[[example]]
name = "example_retry_blocking"
path = "examples/example_retry_blocking.rs"
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"time",
"macros",
]
optional = true
[dev-dependencies.reqwest]
version = "0.12"
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"time",
"macros",
"test-util",
"rt-multi-thread",
]
[lints.rust]
unsafe_code = "forbid"