use std::io::Read; pub struct RealpathData { pub id: u32, pub path: String, } impl RealpathData { pub fn deserialize(mut u8_array_data: &[u8]) -> RealpathData { if u8_array_data.len() < 5 { panic!("Realpath data is expected to be bigger."); } let mut id: [u8; 4] = [0; 4]; u8_array_data .read(&mut id) .expect("Failed to read id from realpath packet."); let id = u32::from_be_bytes(id); let path = crate::packet::types::string::String::deserialize(u8_array_data).content; RealpathData { id: id, path: path } } }