steel_protocol/packets/common/
s_custom_payload.rs1use std::io::{Cursor, Read};
2
3use steel_macros::{ReadFrom, ServerPacket};
4use steel_utils::Identifier;
5
6use steel_utils::serial::ReadFrom;
7
8#[derive(ReadFrom, ServerPacket, Clone, Debug)]
9pub struct SCustomPayload {
10 pub identifier: Identifier,
11 pub payload: Payload,
13}
14
15#[derive(Clone, Debug)]
16pub struct Payload(pub Vec<u8>);
17
18impl ReadFrom for Payload {
19 fn read(data: &mut Cursor<&[u8]>) -> Result<Self, std::io::Error> {
20 let mut buf = vec![];
21 data.read_to_end(&mut buf)?;
22 Ok(Self(buf))
23 }
24}