[package]
edition = "2024"
rust-version = "1.92"
name = "ubq"
version = "5.0.2"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lock-free unbounded MPMC queue with no_std + alloc support."
documentation = "https://docs.rs/ubq"
readme = "README.md"
keywords = [
"queue",
"mpmc",
"lock-free",
"concurrent",
"channel",
]
categories = [
"concurrency",
"data-structures",
"no-std",
]
license = "MIT"
repository = "https://github.com/Orkking2/UBQ"
[features]
bench_fastfifo = [
"bench_tools",
"dep:rbbq",
]
bench_lfqueue = [
"bench_tools",
"dep:lfqueue",
]
bench_rbbq = ["bench_fastfifo"]
bench_registry = ["bench_tools"]
bench_tools = [
"std",
"dep:clap",
"dep:concurrent-queue",
"dep:core_affinity",
"dep:crossbeam-queue",
"dep:serde",
"dep:serde_json",
"dep:tokio",
"dep:toml",
]
bench_wcq = [
"bench_tools",
"dep:wcq",
]
default = ["std"]
jni = ["std"]
std = ["crossbeam-utils/std"]
[lib]
name = "ubq"
path = "src/lib.rs"
bench = false
[[bin]]
name = "bench_frontier"
path = "src/bin/bench_frontier.rs"
required-features = ["bench_tools"]
[[bin]]
name = "bench_matrix"
path = "src/bin/bench_matrix.rs"
required-features = ["bench_tools"]
[[bin]]
name = "full_bench_fleet"
path = "src/bin/full_bench_fleet.rs"
required-features = ["bench_tools"]
[[bin]]
name = "io_uring_queue_bench"
path = "src/bin/io_uring_queue_bench.rs"
required-features = ["bench_tools"]
[[test]]
name = "bench_smoke"
path = "tests/bench_smoke.rs"
[[test]]
name = "push_batch"
path = "tests/push_batch.rs"
[[test]]
name = "rbbq_smoke"
path = "tests/rbbq_smoke.rs"
[[test]]
name = "recycling_aba"
path = "tests/recycling_aba.rs"
[[bench]]
name = "push_batch"
path = "benches/push_batch.rs"
harness = false
[[bench]]
name = "ubq_bench"
path = "benches/ubq_bench.rs"
harness = false
required-features = ["bench_tools"]
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.concurrent-queue]
version = "2"
optional = true
[dependencies.core_affinity]
version = "0.8"
optional = true
[dependencies.crossbeam-queue]
version = "0.3"
optional = true
[dependencies.crossbeam-utils]
version = "0.8.21"
default-features = false
[dependencies.lfqueue]
version = "0.8.1"
optional = true
[dependencies.rbbq]
version = "0.1.0"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
"time",
]
optional = true
[dependencies.toml]
version = "0.8"
optional = true
[dependencies.wcq]
version = "0.1.0"
optional = true