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