1 use super::prelude::*; 2 3 #[derive(Debug)] 4 pub struct P<'a> { 5 pub reg_id: usize, 6 pub val: &'a [u8], 7 } 8 9 impl<'a> ParseCommand<'a> for P<'a> { 10 #[inline(always)] from_packet(buf: PacketBuf<'a>) -> Option<Self>11 fn from_packet(buf: PacketBuf<'a>) -> Option<Self> { 12 let body = buf.into_body(); 13 let mut body = body.split_mut(|&b| b == b'='); 14 let reg_id = decode_hex(body.next()?).ok()?; 15 let val = decode_hex_buf(body.next()?).ok()?; 16 Some(P { reg_id, val }) 17 } 18 } 19