1 use super::prelude::*; 2 3 #[derive(Debug)] 4 pub struct vFileClose { 5 pub fd: u32, 6 } 7 8 impl<'a> ParseCommand<'a> for vFileClose { 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 None; 14 } 15 16 match body { 17 [b':', body @ ..] => { 18 let fd = decode_hex(body).ok()?; 19 Some(vFileClose { fd }) 20 } 21 _ => None, 22 } 23 } 24 } 25