pub type DecodeFnc<'x> = fn(_: &MessageStream<'x>, _: usize, _: &[u8], _: bool) -> (usize, DecodeResult);