[package]
name = "a3s-lane"
version = "0.2.3"
edition = "2021"
authors = ["A3S Lab"]
license = "MIT"
description = "Lane-based priority command queue for async task scheduling with reliability, scalability, and observability features"
repository = "https://github.com/A3S-Lab/Lane"
documentation = "https://docs.rs/a3s-lane"
readme = "README.md"
keywords = ["queue", "priority", "async", "scheduler", "concurrency"]
categories = ["asynchronous", "concurrency"]

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

[dependencies]
tokio = { version = "1", features = ["sync", "time", "rt", "macros", "fs"] }
async-trait = "0.1"
tracing = "0.1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
thiserror = "1"
uuid = { version = "1", features = ["v4"] }
chrono = { version = "0.4", features = ["serde"] }
num_cpus = "1"
opentelemetry = { version = "0.21", features = ["metrics"] }
opentelemetry_sdk = { version = "0.21", features = ["rt-tokio", "metrics"] }
dashmap = "6.0"

[dev-dependencies]
tokio = { version = "1", features = ["full", "test-util"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
tempfile = "3"
criterion = { version = "0.5", features = ["async_tokio"] }

[[bench]]
name = "queue_benchmark"
harness = false
