persistent_map/backends/
in_memory.rs1use crate::StorageBackend;
2use crate::{PersistentError, Result};
3use serde::{de::DeserializeOwned, Serialize};
4use std::{collections::HashMap, hash::Hash};
5
6#[derive(Debug, Default)]
10pub struct InMemoryBackend;
11
12impl InMemoryBackend {
13 pub fn new() -> Self {
23 InMemoryBackend
24 }
25}
26
27#[async_trait::async_trait]
28impl<K, V> StorageBackend<K, V> for InMemoryBackend
29where
30 K: Eq + Hash + Clone + Serialize + DeserializeOwned + Send + Sync + 'static,
31 V: Clone + Serialize + DeserializeOwned + Send + Sync + 'static,
32{
33 async fn load_all(&self) -> Result<HashMap<K, V>, PersistentError> {
34 Ok(HashMap::new())
35 }
36
37 async fn save(&self, _key: K, _value: V) -> Result<(), PersistentError> {
38 Ok(())
39 }
40
41 async fn delete(&self, _key: &K) -> Result<(), PersistentError> {
42 Ok(())
43 }
44}