FakeSFTP/src/packet/data/opendir.rs

21 lines
615 B
Rust

use std::io::Read;
pub struct OpendirData {
pub id: u32,
pub path: String,
}
impl OpendirData {
pub fn deserialize(mut u8_array_data: &[u8]) -> OpendirData {
if u8_array_data.len() < 9 {
panic!("Opendir 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 opendir packet.");
let id = u32::from_be_bytes(id);
let path = crate::packet::types::string::String::deserialize(u8_array_data).content;
OpendirData { id: id, path: path }
}
}