rskit_cache/adapters/memory/
registration.rs1use std::sync::Arc;
2
3use rskit_errors::AppResult;
4
5use crate::config::CacheConfig;
6use crate::registry::{CacheRegistry, CacheStore, CacheStoreFactory};
7
8use super::MemoryCache;
9
10struct MemoryFactory;
11
12#[async_trait::async_trait]
13impl CacheStoreFactory for MemoryFactory {
14 async fn create(&self, config: &CacheConfig) -> AppResult<Arc<dyn CacheStore>> {
15 Ok(Arc::new(MemoryCache::new(
16 config.key_prefix.clone(),
17 config.memory.max_entries,
18 )))
19 }
20}
21
22pub fn register_memory(registry: &mut CacheRegistry) -> AppResult<()> {
24 registry.register("memory", Arc::new(MemoryFactory))
25}