[package]
edition = "2021"
rust-version = "1.88"
name = "hydracache"
version = "0.45.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "User-facing HydraCache runtime crate."
homepage = "https://github.com/javaquasar/hydracache"
readme = "README.md"
keywords = [
"cache",
"caching",
"async",
"runtime",
]
categories = [
"caching",
"asynchronous",
]
license = "Apache-2.0"
repository = "https://github.com/javaquasar/hydracache"
[features]
default = []
durable-values = []
testing = []
tiered-values = []
[lib]
name = "hydracache"
path = "src/lib.rs"
[[example]]
name = "cacheable_function"
path = "examples/cacheable_function.rs"
[[test]]
name = "active_active"
path = "tests/active_active.rs"
[[test]]
name = "adr_presence"
path = "tests/adr_presence.rs"
[[test]]
name = "allocation_profile"
path = "tests/allocation_profile.rs"
[[test]]
name = "anti_entropy"
path = "tests/anti_entropy.rs"
[[test]]
name = "atomic_invalidation"
path = "tests/atomic_invalidation.rs"
[[test]]
name = "cacheable_macro"
path = "tests/cacheable_macro.rs"
[[test]]
name = "cacheable_ui"
path = "tests/cacheable_ui.rs"
[[test]]
name = "capacity_autoscale"
path = "tests/capacity_autoscale.rs"
[[test]]
name = "cluster_component_lifecycle"
path = "tests/cluster_component_lifecycle.rs"
[[test]]
name = "cluster_counters_partition"
path = "tests/cluster_counters_partition.rs"
[[test]]
name = "cluster_load_stability"
path = "tests/cluster_load_stability.rs"
[[test]]
name = "cluster_near_cache_repair"
path = "tests/cluster_near_cache_repair.rs"
[[test]]
name = "cluster_ownership_stamp"
path = "tests/cluster_ownership_stamp.rs"
[[test]]
name = "cluster_pilot_observability"
path = "tests/cluster_pilot_observability.rs"
[[test]]
name = "cluster_pilot_readiness"
path = "tests/cluster_pilot_readiness.rs"
[[test]]
name = "cluster_pilot_soak"
path = "tests/cluster_pilot_soak.rs"
[[test]]
name = "cluster_quorum_barrier"
path = "tests/cluster_quorum_barrier.rs"
[[test]]
name = "cluster_restart_rejoin_property"
path = "tests/cluster_restart_rejoin_property.rs"
[[test]]
name = "cluster_rollback_bypass"
path = "tests/cluster_rollback_bypass.rs"
[[test]]
name = "cluster_routing_mode"
path = "tests/cluster_routing_mode.rs"
[[test]]
name = "cluster_staging_gate"
path = "tests/cluster_staging_gate.rs"
[[test]]
name = "cluster_topology_fence"
path = "tests/cluster_topology_fence.rs"
[[test]]
name = "crdt"
path = "tests/crdt.rs"
[[test]]
name = "durable_replicated_values"
path = "tests/durable_replicated_values.rs"
[[test]]
name = "failover"
path = "tests/failover.rs"
[[test]]
name = "fault_injector_selftest"
path = "tests/fault_injector_selftest.rs"
[[test]]
name = "hot_cache_invalidation"
path = "tests/hot_cache_invalidation.rs"
[[test]]
name = "locality_reads"
path = "tests/locality_reads.rs"
[[test]]
name = "loom_invalidation_model"
path = "tests/loom_invalidation_model.rs"
[[test]]
name = "near_cache_repair"
path = "tests/near_cache_repair.rs"
[[test]]
name = "online_reshard"
path = "tests/online_reshard.rs"
[[test]]
name = "performance_smoke"
path = "tests/performance_smoke.rs"
[[test]]
name = "placement"
path = "tests/placement.rs"
[[test]]
name = "read_your_writes"
path = "tests/read_your_writes.rs"
[[test]]
name = "read_your_writes_live"
path = "tests/read_your_writes_live.rs"
[[test]]
name = "rebalance"
path = "tests/rebalance.rs"
[[test]]
name = "refresh_correctness"
path = "tests/refresh_correctness.rs"
[[test]]
name = "region_failover"
path = "tests/region_failover.rs"
[[test]]
name = "region_link"
path = "tests/region_link.rs"
[[test]]
name = "replication"
path = "tests/replication.rs"
[[test]]
name = "replication_data_protection"
path = "tests/replication_data_protection.rs"
[[test]]
name = "replication_under_load"
path = "tests/replication_under_load.rs"
[[test]]
name = "replication_under_load_live"
path = "tests/replication_under_load_live.rs"
[[test]]
name = "sans_io_seam"
path = "tests/sans_io_seam.rs"
[[test]]
name = "scrubber"
path = "tests/scrubber.rs"
[[test]]
name = "self_heal"
path = "tests/self_heal.rs"
[[test]]
name = "split_brain"
path = "tests/split_brain.rs"
[[test]]
name = "split_brain_live"
path = "tests/split_brain_live.rs"
[[test]]
name = "tiered_values"
path = "tests/tiered_values.rs"
[[test]]
name = "tombstone_replication"
path = "tests/tombstone_replication.rs"
[[test]]
name = "topology_fence"
path = "tests/topology_fence.rs"
[[test]]
name = "zone_placement"
path = "tests/zone_placement.rs"
[[bench]]
name = "cache_hot_path"
path = "benches/cache_hot_path.rs"
harness = false
[dependencies.async-trait]
version = "0.1.89"
[dependencies.bytes]
version = "1.11.1"
[dependencies.futures-util]
version = "0.3.32"
[dependencies.hydracache-core]
version = "0.45.0"
[dependencies.hydracache-macros]
version = "0.45.0"
[dependencies.moka]
version = "0.12.15"
features = ["future"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.tokio]
version = "1.52.3"
features = [
"macros",
"net",
"rt-multi-thread",
"sync",
"time",
]
[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]
[dev-dependencies.loom]
version = "0.7.2"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.trybuild]
version = "1"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage)"]