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