File size: 515 Bytes
3374e90 | 1 2 3 4 5 6 7 8 9 10 11 12 13 | use smol_str::SmolStr;
use std::sync::atomic::{AtomicU64, Ordering};
#[derive(Debug, Clone, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
pub struct PluginId(pub SmolStr);
impl From<&str> for PluginId { fn from(s: &str) -> Self { Self(s.into()) } }
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, serde::Serialize, serde::Deserialize)]
pub struct RequestId(pub u64);
impl RequestId {
pub fn next() -> Self { static C: AtomicU64 = AtomicU64::new(1); Self(C.fetch_add(1, Ordering::Relaxed)) }
}
|