1 use super::prelude::*; 2 3 #[derive(Debug)] 4 pub struct s<'a> { 5 pub addr: Option<&'a [u8]>, 6 } 7 8 impl<'a> ParseCommand<'a> for s<'a> { 9 #[inline(always)] from_packet(buf: PacketBuf<'a>) -> Option<Self>10 fn from_packet(buf: PacketBuf<'a>) -> Option<Self> { 11 let body = buf.into_body(); 12 if body.is_empty() { 13 return Some(s { addr: None }); 14 } 15 let addr = match body { 16 [] => None, 17 _ => Some(decode_hex_buf(body).ok()? as &[u8]), 18 }; 19 Some(s { addr }) 20 } 21 } 22