[package] name = "raft-engine" version = "0.4.2" authors = ["The TiKV Project Developers"] edition = "2018" rust-version = "1.75.0" description = "A persistent storage engine for Multi-Raft logs" readme = "README.md" repository = "https://github.com/tikv/raft-engine" license = "Apache-2.0" [package.metadata.docs.rs] features = ["internals"] [[example]] name = "append-compact-purge" path = "examples/append_compact_purge.rs" [[example]] name = "raft-engine-fork" path = "examples/fork.rs" [[test]] name = "failpoints" path = "tests/failpoints/mod.rs" required-features = ["internals", "failpoints"] [[bench]] name = "benches" path = "tests/benches/mod.rs" harness = false required-features = ["failpoints"] [dependencies] byteorder = "1.2" crc32fast = "1.2" crossbeam = "0.8" fail = "0.5" fs2 = "0.4" hashbrown = "0.14" hex = "0.4" if_chain = "1.0" lazy_static = "1.3" libc = "0.2" log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] } lz4-sys = "1.9" memmap2 = { version = "0.9", optional = true } nix = "0.26" num-derive = "0.4" num-traits = "0.2" parking_lot = "0.12" prometheus = { version = "0.13" } prometheus-static-metric = "0.5" protobuf = "2" rayon = "1.5" rhai = { version = "1.7", features = ["sync"], optional = true } scopeguard = "1.1" serde = { version = "1.0", features = ["derive"] } serde_repr = "0.1" strum = { version = "0.25.0", features = ["derive"] } thiserror = "1.0" [dev-dependencies] criterion = "0.4" ctor = "0.2" env_logger = "0.10" kvproto = { git = "https://github.com/pingcap/kvproto.git", default-features = false, features = ["protobuf-codec"] } raft = { git = "https://github.com/tikv/raft-rs", branch = "master", default-features = false, features = ["protobuf-codec"] } rand = "0.8" rand_distr = "0.4" tempfile = "3.6" toml = "0.8" [features] default = ["internals", "scripting"] internals = [] nightly = [ "prometheus/nightly", ] failpoints = [ "fail/failpoints", ] scripting = [ "rhai", ] swap = [ "nightly", "memmap2", ] std_fs = [] nightly_group = ["nightly", "swap"] [patch.crates-io] raft-proto = { git = "https://github.com/tikv/raft-rs", branch = "master" } protobuf = { git = "https://github.com/pingcap/rust-protobuf", branch = "v2.8" } protobuf-codegen = { git = "https://github.com/pingcap/rust-protobuf", branch = "v2.8" } [workspace] members = ["stress", "ctl"]