axess-cache 0.2.0

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.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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)"]