[package]
edition = "2024"
rust-version = "1.85"
name = "subms-spsc-ring-buffer"
version = "0.5.0"
authors = ["Kieran Smith <oss@submillisecond.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "submillisecond.com cookbook recipe - concurrency: subms-spsc-ring-buffer. Wait-free SPSC ring buffer with cache-line padded counters and opposite-index caching; sub-50ns enqueue/dequeue on sibling cores."
homepage = "https://submillisecond.com/cookbook/recipes/subms-spsc-ring-buffer"
readme = "README.md"
keywords = [
"spsc",
"ring-buffer",
"lock-free",
"concurrency",
"subms",
]
categories = [
"concurrency",
"data-structures",
]
license = "MIT OR Apache-2.0"
[features]
bulk = []
default = []
harness = ["dep:subms"]
metrics = []
mpmc-disruptor = []
mpsc-fan-in = []
wait-strategies = []
[lib]
name = "subms_spsc_ring_buffer"
path = "src/lib.rs"
[[example]]
name = "demo"
path = "examples/demo.rs"
[[example]]
name = "perf_features"
path = "examples/perf_features.rs"
required-features = [
"harness",
"bulk",
"wait-strategies",
"mpsc-fan-in",
"mpmc-disruptor",
"metrics",
]
[[example]]
name = "perf_main"
path = "examples/perf_main.rs"
required-features = ["harness"]
[[test]]
name = "spsc_ring_buffer_tests"
path = "tests/spsc_ring_buffer_tests.rs"
[[test]]
name = "sub_millisecond_bench"
path = "tests/sub_millisecond_bench.rs"
[dependencies.subms]
version = "0.5.0"
optional = true