a small relational database with user-editable schema for manual data entry
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
yopa/yopa/src/serde_atomic_id.rs

20 lines
493 B

//! Serialize atomic ID by fetching its value
use crate::id::ID;
use serde::{Serialize, Deserializer, Deserialize};
pub fn serialize<S>(x: &atomic::Atomic<ID>, s: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
{
x.load(atomic::Ordering::Relaxed)
.serialize(s)
}
pub fn deserialize<'de, D>(deserializer: D) -> Result<atomic::Atomic<ID>, D::Error>
where
D: Deserializer<'de>
{
let id : ID = ID::deserialize(deserializer)?;
Ok(atomic::Atomic::new(id))
}