low-latency-data-structures 0.0.7

Experimental lock-free SPSC, SPMC broadcast, and SeqLock primitives tuned for ultra-low-latency systems
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.95"
name = "low-latency-data-structures"
version = "0.0.7"
authors = ["yawkar <yawkarpov@gmail.com>"]
build = false
include = [
    "src/**/*.rs",
    "examples/spsc/hello.rs",
    "examples/spmc/hello.rs",
    "examples/seqlock/hello.rs",
    "Cargo.toml",
    "README.md",
    "CHANGELOG.md",
    "LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Experimental lock-free SPSC, SPMC broadcast, and SeqLock primitives tuned for ultra-low-latency systems"
homepage = "https://github.com/YawKar/low-latency-data-structures"
documentation = "https://docs.rs/low-latency-data-structures"
readme = "README.md"
keywords = [
    "lock-free",
    "low-latency",
    "spsc",
    "spmc",
    "seqlock",
]
categories = [
    "concurrency",
    "data-structures",
]
license = "MIT"
repository = "https://github.com/YawKar/low-latency-data-structures"

[package.metadata.docs.rs]
all-features = false
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[package.metadata.bin.rustfmt-unstable]
version = "^1.0.0"

[features]
_bench_bus = [
    "_bench_utils",
    "dep:bus",
]
_bench_cbchan = [
    "_bench_utils",
    "dep:crossbeam-channel",
]
_bench_flume = [
    "_bench_utils",
    "dep:flume",
]
_bench_heapless = [
    "_bench_utils",
    "dep:heapless",
]
_bench_nexus = [
    "_bench_utils",
    "dep:nexus-queue",
]
_bench_ringbuf = [
    "_bench_utils",
    "dep:ringbuf",
]
_bench_rtrb = [
    "_bench_utils",
    "dep:rtrb",
]
_bench_stdmpsc = ["_bench_utils"]
_bench_utils = ["dep:hdrhistogram"]
default = []
tests_basic = []
tests_dhat = []
tests_hugepage = []
tests_loom = ["dep:loom"]

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

[[bin]]
name = "smoke"
path = "src/bin/smoke.rs"

[[example]]
name = "seqlock_hello"
path = "examples/seqlock/hello.rs"

[[example]]
name = "spmc_hello"
path = "examples/spmc/hello.rs"

[[example]]
name = "spsc_hello"
path = "examples/spsc/hello.rs"

[dependencies.anyhow]
version = "1.0.102"

[dependencies.bon]
version = "3.9.3"

[dependencies.bus]
version = "2.4.1"
optional = true

[dependencies.bytemuck]
version = "1.25.0"

[dependencies.core_affinity]
version = "0.8.3"

[dependencies.crossbeam-channel]
version = "0.5.16"
optional = true

[dependencies.crossbeam-utils]
version = "0.8.22"

[dependencies.duplicate]
version = "2.0.1"

[dependencies.flume]
version = "0.12.0"
optional = true
default-features = false

[dependencies.hdrhistogram]
version = "7.6.0"
optional = true

[dependencies.heapless]
version = "0.9.3"
optional = true

[dependencies.libc]
version = "0.2.186"

[dependencies.loom]
version = "0.7.2"
optional = true

[dependencies.nexus-queue]
version = "1.3.1"
optional = true

[dependencies.quanta]
version = "0.12.6"

[dependencies.ringbuf]
version = "0.5.1"
optional = true

[dependencies.rtrb]
version = "0.3.4"
optional = true

[dependencies.seq-macro]
version = "0.3.6"

[dependencies.static_assertions]
version = "1.1.0"

[dev-dependencies.criterion]
version = "0.8.2"
features = ["html_reports"]

[dev-dependencies.dhat]
version = "0.3.3"

[lints.rust]
missing_docs = "warn"
unsafe_op_in_unsafe_fn = "warn"