[package]
edition = "2024"
name = "priority-semaphore"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Runtime-agnostic priority-aware async semaphore for Rust."
documentation = "https://docs.rs/priority-semaphore/"
readme = "README.md"
keywords = [
"async",
"semaphore",
"priority",
"tokio",
"concurrency",
]
categories = [
"concurrency",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/h-sumiya/priority-semaphore"
[package.metadata.docs.rs]
all-features = true
targets = ["x86_64-unknown-linux-gnu"]
[features]
default = ["std"]
docsrs = []
std = ["dep:parking_lot"]
[lib]
name = "priority_semaphore"
crate-type = ["rlib"]
path = "src/lib.rs"
[[example]]
name = "cancellation"
path = "examples/cancellation.rs"
[[example]]
name = "priority"
path = "examples/priority.rs"
[[example]]
name = "try_acquire"
path = "examples/try_acquire.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "semantics"
path = "tests/semantics.rs"
[[bench]]
name = "throughput"
path = "benches/throughput.rs"
harness = false
[dependencies.parking_lot]
version = "0.12"
optional = true
[dependencies.spin]
version = "0.12"
features = [
"mutex",
"spin_mutex",
]
default-features = false
[dev-dependencies.criterion]
version = "0.8"
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"full",
"test-util",
]