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)) }
}