use std::fmt;
use serde::{Deserialize, Serialize};
use rustdds::*;
#[derive(
Copy, Clone, PartialEq, Eq, Hash, PartialOrd, Ord, Serialize, Deserialize, CdrEncodingSize,
)]
pub struct Gid(
[u8; 24], ) and Iron (May 2023)
*/
);
impl fmt::Debug for Gid {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
for b in self.0.iter() {
write!(f, "{:02x}", b)?;
}
Ok(())
}
}
impl From<GUID> for Gid {
fn from(guid: GUID) -> Self {
Gid(std::array::from_fn(|i| {
*guid.to_bytes().as_ref().get(i).unwrap_or(&0)
}))
}
}
impl From<Gid> for GUID {
fn from(gid: Gid) -> GUID {
GUID::from_bytes(std::array::from_fn(|i| gid.0[i]))
}
}
impl Key for Gid {}