[package]
name = "durability"
version = "0.7.2"
edition = "2021"
rust-version = "1.80"
license = "MIT OR Apache-2.0"
authors = ["Arc <attobop@gmail.com>"]
description = "Durability primitives for local persistence"
repository = "https://github.com/arclabs561/durability"
homepage = "https://github.com/arclabs561/durability"
documentation = "https://docs.rs/durability"
publish = true
readme = "README.md"
keywords = ["persistence", "wal", "checkpoint", "write-ahead-log", "recovery"]
categories = ["filesystem", "database-implementations"]
[package.metadata.docs.rs]
all-features = true
targets = []
[workspace]
[dependencies]
serde = { version = "1.0.228", features = ["derive"], optional = true }
thiserror = "2"
crc32fast = "1.4"
postcard = { version = "1.0", optional = true, features = ["alloc", "use-std"] }
tokio = { version = "1", features = ["rt", "fs", "macros"], optional = true }
memmap2 = { version = "0.9", optional = true }
libc = { version = "0.2", optional = true }
[features]
default = ["postcard"]
async = ["dep:tokio"]
mmap = ["dep:memmap2", "dep:libc"]
postcard = ["dep:postcard", "serde"]
serde = ["dep:serde"]
[dev-dependencies]
tempfile = "3.24.0"
proptest = "1.9.0"
criterion = { version = "0.5.1", features = ["html_reports"] }
[[example]]
name = "kv_store"
required-features = ["postcard"]
[[example]]
name = "segment_lifecycle"
required-features = ["postcard"]
[[bench]]
name = "bench_recordlog"
harness = false
required-features = ["postcard"]
[[bench]]
name = "bench_checkpoint"
harness = false
required-features = ["postcard"]
[[bench]]
name = "bench_walog"
harness = false
required-features = ["postcard"]
[[bench]]
name = "bench_recover"
harness = false
required-features = ["postcard"]