[package]
name = "lol-core"
version = "0.6.2"
authors = ["Akira Hayakawa <ruby.wktk@gmail.com>"]
edition = "2018"
license = "MIT"
description = "A Raft implementation in Rust language."
repository = "https://github.com/akiradeveloper/lol"
readme = "../README.md"
categories = ["algorithms"]
keywords = ["raft"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
tonic = "0.3"
prost = "0.6"
tokio = { version = "0.2", features = ["macros", "fs"] }
rand = "0.7"
async-trait = "0.1"
async-stream = "0.3"
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_bytes = "0.11"
rmp = "0.8.9"
rmp-serde = "0.14.3"
log = "0.4"
anyhow = "1.0"
tokio-util = { version = "0.3", features = ["codec"] }
bytes = "0.5.6"
sync_wrapper = "0.1"
phi-detector = "0.3"

rocksdb = { version = "0.15", optional = true }

[build-dependencies]
tonic-build = "0.3"

[features]
full = ["persistency"]
persistency = ["rocksdb"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
