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 #[must_use]
23 pub const fn new() -> Self {
24 Self
25 }
26}
27
28#[async_trait::async_trait]
29impl<K, V> StorageBackend<K, V> for InMemoryBackend
30where
31 K: Eq + Hash + Clone + Serialize + DeserializeOwned + Send + Sync + 'static,
32 V: Clone + Serialize + DeserializeOwned + Send + Sync + 'static,
33{
34 async fn load_all(&self) -> Result<HashMap<K, V>, PersistentError> {
35 Ok(HashMap::new())
36 }
37
38 async fn save(&self, _key: K, _value: V) -> Result<(), PersistentError> {
39 Ok(())
40 }
41
42 async fn delete(&self, _key: &K) -> Result<(), PersistentError> {
43 Ok(())
44 }
45}