[package]
name = "replication-engine"
version = "0.1.5"
edition = "2021"
rust-version = "1.75"
license = "AGPL-3.0"
authors = ["Adrian Robinson <adrian.j.robinson@gmail.com>"]
description = "Mesh replication agent for sync-engine nodes"
repository = "https://github.com/transilluminate/replication-engine"
keywords = ["replication", "sync", "distributed", "crdt", "mesh"]
categories = ["database", "network-programming"]
[dependencies]
sync-engine = "0.2.19"
tokio = { version = "1", features = ["full", "sync", "time", "signal"] }
redis = { version = "0.27", features = ["tokio-comp", "connection-manager", "streams"] }
sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
zstd = "0.13"
sha2 = "0.10"
hex = "0.4"
thiserror = "2"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
metrics = "0.24"
dashmap = "6"
parking_lot = "0.12"
chrono = { version = "0.4", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
humantime = "2"
futures = "0.3"
recloser = "1"
governor = "0.8"
[dev-dependencies]
tokio-test = "0.4"
tempfile = "3"
test-log = { version = "0.2", features = ["trace"] }
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
testcontainers = "0.15"
async-trait = "0.1"
proptest = "1"
arbitrary = { version = "1", features = ["derive"] }
[package.metadata.cargo-fuzz]
fuzz = true
[features]
default = []
[lib]
name = "replication_engine"
path = "src/lib.rs"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
strip = true
[patch.crates-io]
sync-engine = { path = "../sync-engine" }