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 liquid_expr;
11mod observer;
12pub mod policies;
13mod transcode;
14mod utils;
15
16pub use builders::{EvaluatePredicate, Get, Insert, LiquidCacheBuilder};
17pub use cached_batch::{CacheEntry, CachedBatchType};
18pub use core::LiquidCache;
19pub use expressions::{CacheExpression, VariantRequest};
20#[cfg(test)]
21pub(crate) use io_context::TestSqueezeIo;
22pub use io_context::{DefaultCacheMetadata, DefaultSqueezeIo, EntryMetadata};
23pub use liquid_expr::LiquidExpr;
24pub use observer::EventTrace;
25pub use observer::Observer;
26pub use observer::{CacheStats, RuntimeStats, RuntimeStatsSnapshot};
27pub use policies::{
28    AlwaysHydrate, CachePolicy, HydrationPolicy, HydrationRequest, LiquidPolicy, MaterializedEntry,
29    NoHydration, SqueezePolicy, TranscodeSqueezeEvict,
30};
31pub use transcode::{transcode_liquid_inner, transcode_liquid_inner_with_hint};
32pub use utils::{EntryID, LiquidCompressorStates};
33
34/// The cache could not reserve enough disk budget for a write.
35#[derive(Debug, Clone, Copy, PartialEq, Eq)]
36pub struct CacheFull;
37
38// Backwards-compatible module paths for existing imports.
39/// Legacy path: re-export cache policy types under `cache::cache_policies`.
40pub mod cache_policies {
41    pub use super::policies::cache::*;
42}
43
44/// Legacy path: re-export hydration policy types under `cache::hydration_policies`.
45pub mod hydration_policies {
46    pub use super::policies::hydration::*;
47}
48
49/// Legacy path: re-export squeeze policy types under `cache::squeeze_policies`.
50pub mod squeeze_policies {
51    pub use super::policies::squeeze::*;
52}
53
54#[cfg(test)]
55mod tests;