use libpacket_core::types::*;
use libpacket_derive::Packet;
#[derive(Packet)]
pub struct PacketWithU16 {
length: u8,
#[length = "length"]
data: Vec<u16be>,
#[length = "(...).len()"]
payload: Vec<u8>,
}
fn main() {
let mut packet = [0u8; 9];
{
let mut p = MutablePacketWithU16Packet::new(&mut packet[..]).unwrap();
p.set_length(6);
p.set_data(&vec![0x0001, 0x1223, 0x3ff4]);
p.set_payload(&vec![0xff, 0xff]);
}
let ref_packet = [0x06 , 0x00, 0x01, 0x12, 0x23, 0x3f, 0xf4, 0xff, 0xff];
assert_eq!(&ref_packet[..], &packet[..]);
}