use byteorder::{LittleEndian, ReadBytesExt};
use serde::Serialize;
use crate::result::Result;
#[derive(Debug, Serialize)]
pub enum EntityMethod {
Subtype2F,
Unknown { sub_type: u32, payload: Vec<u8> },
}
impl EntityMethod {
pub fn new(payload: Vec<u8>) -> Result<Self> {
let mut reader = payload.as_slice();
reader.read_u32::<LittleEndian>()?;
let sub_type = reader.read_u32::<LittleEndian>()?;
let this = match sub_type {
0x2F => Self::Subtype2F,
_ => Self::Unknown { sub_type, payload },
};
Ok(this)
}
}