blob: 0e4f9a6aef87467ab3683c892e70e7517d4f25c9 [file] [log] [blame]
use super::prelude::*;
#[derive(Debug)]
pub struct M<'a> {
pub addr: &'a [u8],
pub len: usize,
pub val: &'a [u8],
}
impl<'a> ParseCommand<'a> for M<'a> {
fn from_packet(buf: PacketBuf<'a>) -> Option<Self> {
let body = buf.into_body();
let mut body = body.split_mut_no_panic(|&b| b == b',' || b == b':');
let addr = decode_hex_buf(body.next()?).ok()?;
let len = decode_hex(body.next()?).ok()?;
let val = decode_hex_buf(body.next()?).ok()?;
Some(M { addr, len, val })
}
}