[package]
edition = "2024"
name = "async-priority-lock"
version = "1.0.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A priority-based async lock. Optionally no-std."
readme = "README.md"
keywords = [
"async",
"mutex",
"lock",
"futures",
]
categories = [
"asynchronous",
"no-std",
]
license = "MIT"
repository = "https://github.com/wbourne0/async-priority-lock-rs"
[package.metadata.docs.rs]
all-features = true
[features]
alloc = []
arena-queue = ["alloc"]
box-queue = ["alloc"]
const-default = ["dep:const-default"]
default = [
"const-default",
"mutex",
"semaphore",
"std",
"arena-queue",
]
evict = []
mutex = []
semaphore = []
semaphore-total = []
serde = ["dep:serde"]
spin = ["dep:spin"]
std = ["alloc"]
[lib]
name = "async_priority_lock"
path = "src/lib.rs"
[[example]]
name = "sem-cap"
path = "examples/sem-cap.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "semaphore-pool"
path = "tests/semaphore-pool.rs"
[dependencies.const-default]
version = "1.0.0"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
default-features = false
[dependencies.spin]
version = "0.10.0"
features = ["rwlock"]
optional = true
default-features = false
[dev-dependencies.anyhow]
version = "1.0.101"
[dev-dependencies.futures]
version = "0.3.32"
[dev-dependencies.rand]
version = "0.10.0"
features = ["sys_rng"]
[dev-dependencies.tokio]
version = "1.49.0"
features = ["full"]
[profile.test]
opt-level = 3