[package]
name         = "tsoracle-core"
description  = "Sync algorithm core for tsoracle: window allocator, 46/18-bit timestamp packing, monotonicity invariants, and the shared cluster peer type."
version      = "2.1.0"
edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
repository.workspace   = true
homepage.workspace     = true
readme                 = "README.md"
documentation = "https://docs.rs/tsoracle-core"
keywords      = ["timestamp", "oracle", "tso", "hlc", "algorithm"]
categories    = ["algorithms", "date-and-time", "concurrency"]

[features]
default    = ["std"]
std        = []
serde      = ["dep:serde"]

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

[dependencies]
thiserror = { workspace = true }
serde     = { workspace = true, optional = true }

[dev-dependencies]
husky-rs   = { workspace = true }
proptest   = { workspace = true }
serde_json = { workspace = true }
