[package]
edition = "2024"
rust-version = "1.93"
name = "yring"
version = "0.2.1"
authors = ["Patrik Wenger <paddor@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Bounded SPSC ring with ypipe-style batched flush/prefetch"
readme = "README.md"
keywords = [
"spsc",
"ring-buffer",
"lock-free",
"ypipe",
"batching",
]
categories = [
"concurrency",
"data-structures",
]
license = "ISC"
repository = "https://github.com/paddor/omq.rs"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[features]
async = [
"dep:atomic-waker",
"dep:futures-core",
]
default = []
[lib]
name = "yring"
path = "src/lib.rs"
[[example]]
name = "basic"
path = "examples/basic.rs"
[[bench]]
name = "throughput"
path = "benches/throughput.rs"
harness = false
[dependencies.atomic-waker]
version = "1"
optional = true
[dependencies.futures-core]
version = "0.3"
optional = true
default-features = false
[dev-dependencies.futures-lite]
version = "2"
[lints.clippy]
cast_possible_truncation = "allow"
cast_precision_loss = "allow"
cast_sign_loss = "allow"
missing_errors_doc = "allow"
missing_panics_doc = "allow"
module_name_repetitions = "allow"
must_use_candidate = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "deny"
unreachable_pub = "warn"
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1