[package]
edition = "2024"
name = "ringbuf"
version = "0.5.0"
authors = ["Alexey Gerasev <alexey.gerasev@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Lock-free SPSC FIFO ring buffer with direct access to inner data"
documentation = "https://docs.rs/ringbuf"
readme = "README.md"
keywords = [
"lock-free",
"spsc",
"ring-buffer",
"rb",
"fifo",
]
categories = [
"concurrency",
"data-structures",
"no-std",
]
license = "MIT/Apache-2.0"
repository = "https://github.com/agerasev/ringbuf.git"
[features]
alloc = ["portable-atomic-util?/alloc"]
bench = []
default = ["std"]
portable-atomic = [
"dep:portable-atomic",
"dep:portable-atomic-util",
]
std = [
"alloc",
"portable-atomic?/std",
"portable-atomic-util?/std",
]
test_local = []
[lib]
name = "ringbuf"
path = "src/lib.rs"
[[example]]
name = "global_static"
path = "examples/global_static.rs"
[[example]]
name = "message"
path = "examples/message.rs"
required-features = ["std"]
[[example]]
name = "overwrite"
path = "examples/overwrite.rs"
required-features = ["alloc"]
[[example]]
name = "simple"
path = "examples/simple.rs"
required-features = ["alloc"]
[[example]]
name = "static"
path = "examples/static.rs"
[[example]]
name = "test_ordering"
path = "examples/test_ordering.rs"
required-features = ["std"]
[dependencies.crossbeam-utils]
version = "0.8"
default-features = false
[dependencies.portable-atomic]
version = "1"
optional = true
default-features = false
[dependencies.portable-atomic-util]
version = "0.2"
optional = true
default-features = false
[dev-dependencies.lock-free-static]
version = "0.2.1"