[package]
name = "lightningstor-distributed"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
description = "Distributed storage backends for LightningStor (Erasure Coding & Replication)"

[dependencies]
# Internal crates
lightningstor-types = { workspace = true }
lightningstor-storage = { workspace = true }
lightningstor-node = { workspace = true }

# Async runtime
tokio = { workspace = true }
futures = { workspace = true }
async-trait = { workspace = true }

# gRPC
tonic = { workspace = true }
prost = { workspace = true }

# Serialization
serde = { workspace = true }

# Utilities
thiserror = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
bytes = { workspace = true }
dashmap = { workspace = true }
uuid = { workspace = true }

# Erasure coding
reed-solomon-erasure = "6.0"

# Consistent hashing
hashring = "0.3"

[dev-dependencies]
tempfile = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread", "macros"] }
serde_json = { workspace = true }

[lints]
workspace = true
