macro_rules! decode_params {
($r:expr, $version:expr, $($key:expr => $name:ident: $ty:ty),* $(,)?) => { ... };
}Expand description
Decode message parameters with compile-time sorted keys.
The declared type is the final type of each variable. Use Option<T> for
optional parameters (defaults to None when absent) and bare types like u8
for parameters where T::default() is an acceptable fallback.
Unknown parameters cause DecodeError::InvalidValue.
Duplicate parameters cause DecodeError::Duplicate.
ⓘ
decode_params!(r, version,
0x10 => forward: Option<bool>,
0x20 => subscriber_priority: Option<u8>,
);
// forward: Option<bool> and subscriber_priority: Option<u8> are now in scope
let subscriber_priority = subscriber_priority.unwrap_or(128);