djin_protocol/types/
uuid.rs1use crate::{hint, Parcel, Error, Settings};
2use std::io::prelude::*;
3
4use uuid::Uuid;
5
6impl Parcel for Uuid
7{
8 const TYPE_NAME: &'static str = "Uuid";
9
10 fn read_field(read: &mut dyn Read,
11 settings: &Settings,
12 _: &mut hint::Hints)
13 -> Result<Self, Error> {
14 let bytes: [u8; 16] = Parcel::read(read, settings)?;
15
16 Ok(Uuid::from_bytes(bytes))
17 }
18
19 fn write_field(&self,
20 write: &mut dyn Write,
21 _: &Settings,
22 _: &mut hint::Hints) -> Result<(), Error> {
23 write.write(self.as_bytes())?;
24 Ok(())
25 }
26}
27