persistent-queue 0.1.3

A durable, at-least-once MPSC queue backed by in-memory and durable backends (sled, redb).
Documentation
# A durable, at-least-once MPSC queue backed by in-memory and durable backends.
[package]
name = "persistent-queue"
version = "0.1.3"
edition = "2024"
license = "Apache-2.0"
description = "A durable, at-least-once MPSC queue backed by in-memory and durable backends (sled, redb)."
repository = "https://github.com/rolandjitsu/persistent-queue"
keywords = ["queue", "persistent", "durable", "mpsc", "storage"]
categories = ["concurrency", "data-structures"]

[features]
default = []
# On-disk backend backed by sled.
sled = ["dep:sled"]
# On-disk backend backed by redb.
redb = ["dep:redb"]
# On-disk backend backed by RocksDB (builds a bundled C++ RocksDB).
rocksdb = ["dep:rocksdb"]
# serde + bincode codec for the typed queue layer.
serde = ["dep:serde", "dep:bincode"]

[dependencies]
sled = { version = "0.34", optional = true }
redb = { version = "2", optional = true }
rocksdb = { version = "0.22", optional = true }
serde = { version = "1", optional = true }
bincode = { version = "1", optional = true }

[dev-dependencies]
tempfile = "3"
criterion = { version = "0.5", default-features = false, features = ["cargo_bench_support"] }
serde = { version = "1", features = ["derive"] }

# loom is pulled in only under `--cfg loom`, for the model-checked concurrency tests.
[target.'cfg(loom)'.dependencies]
loom = "0.7"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(loom)'] }

[[bench]]
name = "throughput"
harness = false