elasticq 0.3.0

Thread-safe, dynamically resizable queues with lock-based and lock-free implementations for high-throughput scenarios
Documentation
[[bench]]
harness = false
name = "buffer_benchmarks"
path = "benches/buffer_benchmarks.rs"

[[bench]]
harness = false
name = "feature_benchmarks"
path = "benches/feature_benchmarks.rs"

[[bench]]
harness = false
name = "lock_free_benchmarks"
path = "benches/lock_free_benchmarks.rs"
required-features = ["lock_free"]

[dependencies.bincode]
optional = true
version = "1.3"

[dependencies.crossbeam-epoch]
version = "0.9"

[dependencies.futures-core]
optional = true
version = "0.3"

[dependencies.memmap2]
optional = true
version = "0.9"

[dependencies.metrics-crate]
optional = true
package = "metrics"
version = "0.23"

[dependencies.parking_lot]
version = "0.12"

[dependencies.portable-atomic]
optional = true
version = "1.6"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
features = ["sync", "time", "macros", "rt"]
optional = true
version = "1.21"

[dependencies.tokio-stream]
optional = true
version = "0.1"

[dev-dependencies.criterion]
version = "0.3"

[dev-dependencies.futures]
version = "0.3"

[dev-dependencies.loom]
version = "0.7"

[dev-dependencies.proptest]
version = "1.4"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.tokio]
features = ["full", "test-util"]
version = "1.21"

[dev-dependencies.tokio-test]
version = "0.4"

[[example]]
name = "lock_free_demo"
path = "examples/lock_free_demo.rs"

[[example]]
name = "performance_summary"
path = "examples/performance_summary.rs"

[[example]]
name = "producer_scalability_test"
path = "examples/producer_scalability_test.rs"

[[example]]
name = "quick_scalability"
path = "examples/quick_scalability.rs"

[[example]]
name = "scalability_test"
path = "examples/scalability_test.rs"

[features]
async = ["tokio"]
default = []
lock_free = ["portable-atomic"]
metrics = ["metrics-crate"]
persistent = ["serde", "memmap2", "bincode"]
priority = []
streams = ["async", "futures-core", "tokio-stream"]

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

[lints.rust.unexpected_cfgs]
check-cfg = ["cfg(loom)"]
level = "warn"
priority = 0

[package]
authors = ["John Fabienke"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["data-structures", "concurrency", "asynchronous"]
description = "Thread-safe, dynamically resizable queues with lock-based and lock-free implementations for high-throughput scenarios"
documentation = "https://docs.rs/elasticq"
edition = "2021"
homepage = "https://github.com/jfabienke/elasticq"
keywords = ["queue", "buffer", "circular-buffer", "dynamic", "concurrent"]
license = "MIT"
name = "elasticq"
readme = "README.md"
repository = "https://github.com/jfabienke/elasticq"
version = "0.3.0"

[[test]]
name = "comprehensive_tests"
path = "tests/comprehensive_tests.rs"

[[test]]
name = "concurrency_tests"
path = "tests/concurrency_tests.rs"

[[test]]
name = "property_based_tests"
path = "tests/property_based_tests.rs"