# 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 = "2021"
rust-version = "1.88"
name = "hydracache"
version = "0.62.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-value-store = ["dep:sled"]
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 = "admission"
path = "tests/admission.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 = "backup_restore"
path = "tests/backup_restore.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 = "causal_consistency"
path = "tests/causal_consistency.rs"

[[test]]
name = "cluster_checkpoint"
path = "tests/cluster_checkpoint.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 = "conditional_tombstone"
path = "tests/conditional_tombstone.rs"

[[test]]
name = "conditional_writes"
path = "tests/conditional_writes.rs"

[[test]]
name = "consistency_levels"
path = "tests/consistency_levels.rs"

[[test]]
name = "convergence_staleness"
path = "tests/convergence_staleness.rs"

[[test]]
name = "crdt"
path = "tests/crdt.rs"

[[test]]
name = "durability_write_path"
path = "tests/durability_write_path.rs"

[[test]]
name = "durable_inspect"
path = "tests/durable_inspect.rs"

[[test]]
name = "durable_maintenance"
path = "tests/durable_maintenance.rs"

[[test]]
name = "durable_replicated_values"
path = "tests/durable_replicated_values.rs"

[[test]]
name = "durable_scrub"
path = "tests/durable_scrub.rs"

[[test]]
name = "durable_value_store"
path = "tests/durable_value_store.rs"

[[test]]
name = "failover"
path = "tests/failover.rs"

[[test]]
name = "failure_detector"
path = "tests/failure_detector.rs"

[[test]]
name = "fault_injector_selftest"
path = "tests/fault_injector_selftest.rs"

[[test]]
name = "hinted_handoff"
path = "tests/hinted_handoff.rs"

[[test]]
name = "hot_cache_invalidation"
path = "tests/hot_cache_invalidation.rs"

[[test]]
name = "invalidation_ring"
path = "tests/invalidation_ring.rs"

[[test]]
name = "invalidation_transport"
path = "tests/invalidation_transport.rs"

[[test]]
name = "load_breaker"
path = "tests/load_breaker.rs"

[[test]]
name = "locality_reads"
path = "tests/locality_reads.rs"

[[test]]
name = "lock_lease"
path = "tests/lock_lease.rs"

[[test]]
name = "lock_reentrancy"
path = "tests/lock_reentrancy.rs"

[[test]]
name = "loom_invalidation_model"
path = "tests/loom_invalidation_model.rs"

[[test]]
name = "merkle_repair"
path = "tests/merkle_repair.rs"

[[test]]
name = "multitenancy"
path = "tests/multitenancy.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 = "persistence_config"
path = "tests/persistence_config.rs"

[[test]]
name = "persistence_policy"
path = "tests/persistence_policy.rs"

[[test]]
name = "persistence_recovery"
path = "tests/persistence_recovery.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 = "region_persistence"
path = "tests/region_persistence.rs"

[[test]]
name = "replicated_store_ext"
path = "tests/replicated_store_ext.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 = "residency"
path = "tests/residency.rs"

[[test]]
name = "sans_io_seam"
path = "tests/sans_io_seam.rs"

[[test]]
name = "scrubber"
path = "tests/scrubber.rs"

[[test]]
name = "security_lifecycle"
path = "tests/security_lifecycle.rs"

[[test]]
name = "self_heal"
path = "tests/self_heal.rs"

[[test]]
name = "session_context"
path = "tests/session_context.rs"

[[test]]
name = "session_monotonic"
path = "tests/session_monotonic.rs"

[[test]]
name = "session_ryw"
path = "tests/session_ryw.rs"

[[test]]
name = "split_brain"
path = "tests/split_brain.rs"

[[test]]
name = "split_brain_live"
path = "tests/split_brain_live.rs"

[[test]]
name = "sustained_overload"
path = "tests/sustained_overload.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 = "transport_fault_matrix"
path = "tests/transport_fault_matrix.rs"

[[test]]
name = "transport_resume"
path = "tests/transport_resume.rs"

[[test]]
name = "zone_placement"
path = "tests/zone_placement.rs"

[[bench]]
name = "cache_hot_path"
path = "benches/cache_hot_path.rs"
harness = false

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dev-dependencies.criterion]
version = "0.8"
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"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-trait]
version = "0.1.89"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.bytes]
version = "1.11.1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.futures-util]
version = "0.3.32"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hydracache-core]
version = "0.62.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hydracache-macros]
version = "0.62.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.moka]
version = "0.12.15"
features = ["future"]

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.sled]
version = "0.34.7"
optional = true

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.thiserror]
version = "2.0.18"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.52.3"
features = [
    "macros",
    "net",
    "rt-multi-thread",
    "sync",
    "time",
]

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage)"]
