[[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"