(&self, key: String)
| 118 | |
| 119 | #[tracing::instrument(level = "debug", skip(self, key))] |
| 120 | pub fn load_selective<T>(&self, key: String) -> Result<T> |
| 121 | where |
| 122 | T: DeserializeOwned, |
| 123 | { |
| 124 | let prefs = self.memcache.lock().unwrap(); |
| 125 | |
| 126 | let key = format!("prefs.{}", key); |
| 127 | tracing::debug!("Loading selective {}", key); |
| 128 | |
| 129 | let val: Option<T> = prefs.dot_get(key.as_str())?; |
| 130 | drop(prefs); |
| 131 | if val.is_none() { |
| 132 | return Err(format!("No value found for {}", key).into()); |
| 133 | } |
| 134 | |
| 135 | Ok(val.unwrap()) |
| 136 | } |
| 137 | |
| 138 | #[tracing::instrument(level = "debug", skip(self, key, value))] |
| 139 | pub fn save_selective<T>(&self, key: String, value: Option<T>) -> Result<()> |
no outgoing calls