use ::simple_parse::{SpRead, SpWrite};
#[derive(SpRead, SpWrite)]
pub struct SomeStruct {
pub some_field: u8,
#[sp(endian = "big")]
pub items: Vec<u32>,
}
pub fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut srv_sock: &[u8] = &[
1, 0, 0, 0, 2, 0xDE, 0xAD, 0xBE, 0xEF, 0xBA, 0xDC, 0x0F, 0xFE, ];
let mut my_struct = SomeStruct::from_reader(&mut srv_sock)?;
my_struct.items.push(0xFFFFFFFF);
let mut cli_sock: Vec<u8> = Vec::new();
my_struct.to_writer(&mut cli_sock)?;
println!("{:X?}", cli_sock);
Ok(())
}