Skip to main content

liquid_cache/cache/
mod.rs

1//! Cache layer for liquid cache.
2
3mod budget;
4mod builders;
5mod cached_batch;
6mod core;
7mod expressions;
8mod index;
9mod io_context;
10mod observer;
11pub mod policies;
12mod transcode;
13mod utils;
14
15pub use builders::{EvaluatePredicate, Get, Insert, LiquidCacheBuilder};
16pub use cached_batch::{CacheEntry, CachedBatchType};
17pub use core::LiquidCache;
18pub use expressions::{CacheExpression, VariantRequest};
19#[cfg(test)]
20pub(crate) use io_context::TestSqueezeIo;
21pub use io_context::{DefaultIoContext, DefaultSqueezeIo, IoContext};
22pub use observer::EventTrace;
23pub use observer::Observer;
24pub use observer::{CacheStats, RuntimeStats, RuntimeStatsSnapshot};
25pub use policies::{
26    AlwaysHydrate, CachePolicy, HydrationPolicy, HydrationRequest, LiquidPolicy, MaterializedEntry,
27    NoHydration, SqueezePolicy, TranscodeSqueezeEvict,
28};
29pub use transcode::{transcode_liquid_inner, transcode_liquid_inner_with_hint};
30pub use utils::{EntryID, LiquidCompressorStates};
31
32// Backwards-compatible module paths for existing imports.
33/// Legacy path: re-export cache policy types under `cache::cache_policies`.
34pub mod cache_policies {
35    pub use super::policies::cache::*;
36}
37
38/// Legacy path: re-export hydration policy types under `cache::hydration_policies`.
39pub mod hydration_policies {
40    pub use super::policies::hydration::*;
41}
42
43/// Legacy path: re-export squeeze policy types under `cache::squeeze_policies`.
44pub mod squeeze_policies {
45    pub use super::policies::squeeze::*;
46}
47
48#[cfg(test)]
49mod tests;