use super::*;
impl Doer for SvcDirector {
fn id(&self) -> u8 {
51
}
fn parse(i: &[u8], _: AuxRefCell) -> Result<Self> {
let (i, (length, command)) = tuple((le_u8, le_u8))(i)?;
let (i, message) = take(length - 1)(i)?;
Ok((
i,
SvcDirector {
length,
command,
message: message.into(),
},
))
}
fn write(&self, _: AuxRefCell) -> ByteVec {
let mut writer = ByteWriter::new();
writer.append_u8(self.id());
writer.append_u8(self.length);
writer.append_u8(self.command);
writer.append_u8_slice(self.message.as_slice());
writer.data
}
}