[package]
edition = "2024"
rust-version = "1.87"
name = "axess-cache"
version = "0.2.0"
authors = ["Gnomes"]
build = false
exclude = [
"tests/",
"benches/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
DST-friendly local hot-path cache primitives for the axess auth library.
All time-dependent decisions go through an injected `Clock` from the
`axess-clock` crate, so TTL eviction is reproducible under MockClock.
The flagship type, `ClockTtlCache`, is a TTL+LRU cache that replaces
moka in any code path where DST or compliance forbids wall-clock
internal timers.
"""
homepage = "https://github.com/GnomesOfZurich/axess"
documentation = "https://docs.rs/axess-cache"
readme = "README.md"
keywords = [
"cache",
"lru",
"ttl",
"deterministic",
"simulation",
]
categories = [
"caching",
"development-tools::testing",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/GnomesOfZurich/axess"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[lib]
name = "axess_cache"
path = "src/lib.rs"
[dependencies.axess-clock]
version = "0.2.0"
[dependencies.lru]
version = "0.18.0"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.tokio]
version = "1.52.3"
features = ["sync"]
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.chrono]
version = "0.4.44"
[dev-dependencies.criterion]
version = "0.8.2"
features = ["async_tokio"]
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.tokio]
version = "1.52.3"
features = [
"macros",
"rt",
"rt-multi-thread",
"sync",
]
default-features = false
[target."cfg(loom)".dev-dependencies.loom]
version = "0.7.2"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(loom)"]