loopq 0.1.0

An efficient SPSC lock-free ring buffer with support for no_std, Embassy, and Tokio.
Documentation
[[bench]]
harness = false
name = "comparison"
path = "benches/comparison.rs"

[dependencies.embassy-sync]
optional = true
version = "0.6"

[dependencies.portable-atomic]
version = "1.6"

[dependencies.tokio]
features = ["sync"]
optional = true
version = "1"

[dev-dependencies.bbqueue]
version = "0.5"

[dev-dependencies.criterion]
version = "0.5"

[dev-dependencies.critical-section]
features = ["std"]
version = "1.1"

[dev-dependencies.crossbeam-queue]
version = "0.3"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.pprof]
features = ["criterion", "flamegraph"]
version = "0.13"

[dev-dependencies.proptest]
version = "1.0"

[dev-dependencies.ringbuf]
version = "0.3"

[dev-dependencies.rtrb]
version = "0.2"

[dev-dependencies.tokio]
features = ["macros", "rt", "time"]
version = "1"

[features]
embassy = ["dep:embassy-sync"]
tokio = ["dep:tokio"]

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

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(loom)"]
level = "warn"
priority = 0

[package]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["data-structures", "concurrency", "embedded", "asynchronous"]
description = "An efficient SPSC lock-free ring buffer with support for no_std, Embassy, and Tokio."
edition = "2024"
keywords = ["ring-buffer", "lock-free", "spsc", "async", "no_std"]
license = "MIT OR Apache-2.0"
name = "loopq"
readme = "README.md"
repository = "https://github.com/ggriffiniii/loopq"
version = "0.1.0"

[profile.bench]
debug = 2

[target."cfg(loom)".dependencies.loom]
version = "0.7"

[[test]]
name = "embassy_tests"
path = "tests/embassy_tests.rs"

[[test]]
name = "loom_tests"
path = "tests/loom_tests.rs"

[[test]]
name = "proptests"
path = "tests/proptests.rs"

[[test]]
name = "tokio_tests"
path = "tests/tokio_tests.rs"