[package]
name = "rpstate"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
description.workspace = true
repository.workspace = true
readme.workspace = true
rust-version.workspace = true

[features]
default = ["redb"]
json = []
redb = ["dep:redb", "dep:rmp-serde"]

[dependencies]
arc-swap = { workspace = true }
bytes = { workspace = true }
inventory = { workspace = true }
petgraph = { workspace = true }
rpstate-macros = { workspace = true }
serde = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }

redb = { workspace = true, optional = true }
rmp-serde = { workspace = true, optional = true }
serde_json = { workspace = true }

[dev-dependencies]
criterion = { workspace = true }
proptest = { workspace = true }
rand = { workspace = true }
rayon = { workspace = true }
macrotest = { workspace = true }
serde = { workspace = true }
trybuild = { workspace = true }
tracing-test = { version = "0.2.6", features = ["no-env-filter"] }

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

