/
oiwn
/
capp-rs
Обзор
Документация
Войти
/
oiwn
/
capp-rs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
capp-cache/src/http_cache.rs
38 строк
1 KB
oiwn
cache implementation
02 мар 2025, 20:22
02 мар 2025, 20:22
450516f
Код
Авторство
О чём код?
use crate::{CacheEntry, CacheEntryState, CacheError}; use async_trait::async_trait; use serde::{Deserialize, Serialize}; /// Core HTTP cache trait that backends must implement #[async_trait] pub trait HttpCache<T>: Send + Sync where T: Send + Sync + Serialize + for<'de> Deserialize<'de>, { /// Get a value from cache async fn get(&self, key: &str) -> Result<Option<CacheEntry<T>>, CacheError>; /// Set or update a value in cache async fn set( &self, key: &str, value: T, status_code: u16, state: CacheEntryState, ) -> Result<(), CacheError>; /// Update entry state async fn update_state( &self, key: &str, state: CacheEntryState, ) -> Result<(), CacheError>; /// Remove entry from cache async fn remove(&self, key: &str) -> Result<(), CacheError>; /// Remove stale/invalid/error entries async fn cleanup(&self) -> Result<u64, CacheError>; /// Check if a URL is cached async fn contains(&self, key: &str) -> Result<bool, CacheError>; }