threatflux_cache/backends/
mod.rs1use crate::EntryMetadata;
4use serde::{Serialize, de::DeserializeOwned};
5use std::hash::Hash;
6
7pub trait BackendKey: Hash + Eq + Clone + Send + Sync {}
9impl<T> BackendKey for T where T: Hash + Eq + Clone + Send + Sync {}
10
11pub trait BackendValue: Clone + Send + Sync {}
13impl<T> BackendValue for T where T: Clone + Send + Sync {}
14
15pub trait BackendMeta: Clone + Send + Sync {}
17impl<T> BackendMeta for T where T: Clone + Send + Sync {}
18
19pub trait StorageKey: BackendKey + Serialize + DeserializeOwned + 'static {}
21impl<T> StorageKey for T where T: BackendKey + Serialize + DeserializeOwned + 'static {}
22
23pub trait StorageValue: BackendValue + Serialize + DeserializeOwned + 'static {}
25impl<T> StorageValue for T where T: BackendValue + Serialize + DeserializeOwned + 'static {}
26
27pub trait StorageMeta: BackendMeta + Serialize + DeserializeOwned + EntryMetadata {}
29impl<T> StorageMeta for T where T: BackendMeta + Serialize + DeserializeOwned + EntryMetadata {}
30
31pub mod memory;
32
33#[cfg(feature = "filesystem-backend")]
34pub mod filesystem;