split out more files

This commit is contained in:
Vinzenz Schroeter 2024-05-10 00:53:12 +02:00
parent db8370e642
commit 6b5fdca654
7 changed files with 112 additions and 105 deletions

22
src/packet.rs Normal file
View file

@ -0,0 +1,22 @@
pub struct Header(pub u16, pub u16, pub u16, pub u16, pub u16);
pub type Payload = Vec<u8>;
pub struct Packet(pub Header, pub Payload);
impl Packet {
pub fn to_bytes(&self) -> Vec<u8> {
let Packet(Header(mode, a, b, c, d), payload) = self;
let mut packet = vec!(0u8; 10 + payload.len());
packet[0..=1].copy_from_slice(&u16::to_be_bytes(*mode));
packet[2..=3].copy_from_slice(&u16::to_be_bytes(*a));
packet[4..=5].copy_from_slice(&u16::to_be_bytes(*b));
packet[6..=7].copy_from_slice(&u16::to_be_bytes(*c));
packet[8..=9].copy_from_slice(&u16::to_be_bytes(*d));
packet[10..].copy_from_slice(&*payload);
return packet;
}
}