(&self, key: &str)
| 389 | |
| 390 | impl GetPutCodec for NodeState { |
| 391 | fn decode<T: for<'de> serde::Deserialize<'de>>(&self, key: &str) -> Option<T> { |
| 392 | self.get(key) |
| 393 | .and_then(|entry| match decode(entry.value.as_ref()?) { |
| 394 | Ok(value) => Some(value), |
| 395 | Err(e) => { |
| 396 | warn!("failed to decode value for key {key}: {e:?}"); |
| 397 | None |
| 398 | } |
| 399 | }) |
| 400 | } |
| 401 | |
| 402 | fn put_encoded<T: serde::Serialize>(&mut self, key: String, value: &T) -> Result<()> { |
| 403 | self.put(key.clone(), encode(value)?) |
no test coverage detected