[package]
edition = "2024"
rust-version = "1.92"
name = "ubq"
version = "7.0.0"
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_moodycamel = ["bench_tools"]
bench_rbbq = ["bench_fastfifo"]
bench_registry = ["bench_tools"]
bench_tools = [
"std",
"dep:clap",
"dep:concurrent-queue",
"dep:core_affinity",
"dep:crossbeam-epoch",
"dep:crossbeam-queue",
"dep:portable-atomic",
"dep:serde",
"dep:serde_json",
"dep:tokio",
]
bench_wcq = [
"bench_tools",
"dep:wcq",
]
default = [
"std",
"bench_tools",
]
jni = ["std"]
std = ["crossbeam-utils/std"]
[lib]
name = "ubq"
path = "src/lib.rs"
bench = false
[[bin]]
name = "bench_grid"
path = "src/bin/bench_grid.rs"
required-features = ["bench_registry"]
[[bin]]
name = "bench_profile"
path = "src/bin/bench_profile.rs"
required-features = ["bench_registry"]
[[bin]]
name = "bench_matrix"
path = "src/bin/bench_matrix.rs"
required-features = ["bench_tools"]
[[bin]]
name = "bench_atomic_updates"
path = "src/bin/bench_atomic_updates.rs"
required-features = ["bench_tools"]
[[bin]]
name = "bench_head_reload"
path = "src/bin/bench_head_reload.rs"
required-features = ["bench_tools"]
[[bin]]
name = "io_uring_queue_bench"
path = "src/bin/io_uring_queue_bench.rs"
required-features = ["bench_tools"]
[[bin]]
name = "laot"
path = "src/bin/long_atm_offset_test.rs"
required-features = ["bench_tools"]
[[test]]
name = "bench_smoke"
path = "tests/bench_smoke.rs"
[[test]]
name = "bench_worker_timeout"
path = "tests/bench_worker_timeout.rs"
[[test]]
name = "moodycamel_cq_smoke"
path = "tests/moodycamel_cq_smoke.rs"
[[test]]
name = "ms_queue_smoke"
path = "tests/ms_queue_smoke.rs"
[[test]]
name = "naive_faa_queue_smoke"
path = "tests/naive_faa_queue_smoke.rs"
[[test]]
name = "new_baselines_smoke"
path = "tests/new_baselines_smoke.rs"
[[test]]
name = "pop_batch"
path = "tests/pop_batch.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
[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-epoch]
version = "0.9"
optional = true
[dependencies.crossbeam-queue]
version = "0.3.13"
optional = true
[dependencies.crossbeam-utils]
version = "0.8.21"
default-features = false
[dependencies.lfqueue]
version = "0.8.1"
optional = true
[dependencies.portable-atomic]
version = "1.13.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.wcq]
version = "0.1.0"
optional = true
[build-dependencies.cc]
version = "1"
[target."cfg(unix)".dependencies.libc]
version = "0.2.189"
default-features = false
[target."cfg(windows)".dependencies.windows-sys]
version = "0.61.2"
features = ["Win32_System_SystemInformation"]