pub struct InvokedCommand {
pub path: CommandPath,
pub fields_tlv: Vec<u8>,
pub command_ref: Option<u16>,
}Expand description
One command parsed out of an inbound InvokeRequestMessage.
Fields§
§path: CommandPath(endpoint, cluster, command) the requester invoked.
fields_tlv: Vec<u8>The requester’s original CommandFields bytes, verbatim, under a
fresh anonymous tag (ready to hand to a matter-clusters decoder):
only the container’s own control/tag bytes are replaced, the body is
copied unexamined. Original integer widths are preserved, and so is
everything else the peer sent — which has three consequences for
consumers:
- A localized-string suffix (element type
0x1F, IS1) survives in the blob rather than being dropped by a re-encode. DecodedValues are unchanged: the downstream decoder still truncates at the IS1 separator. - Invalid UTF-8 inside
CommandFieldsis not rejected here — the copy never decodes it — so it surfaces from your own decoder instead of from IM parsing. - An off-spec
Arraywhose children carry non-anonymous tags is copied through as-is and fails in your decoder withNonAnonymousArrayTag; the older decode-then-re-encode path silently normalised those tags away.
command_ref: Option<u16>The CommandRef (CommandDataIB tag 2), present only in batched invokes.
Trait Implementations§
Source§impl Clone for InvokedCommand
impl Clone for InvokedCommand
Source§fn clone(&self) -> InvokedCommand
fn clone(&self) -> InvokedCommand
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InvokedCommand
impl Debug for InvokedCommand
impl Eq for InvokedCommand
Source§impl PartialEq for InvokedCommand
impl PartialEq for InvokedCommand
impl StructuralPartialEq for InvokedCommand
Auto Trait Implementations§
impl Freeze for InvokedCommand
impl RefUnwindSafe for InvokedCommand
impl Send for InvokedCommand
impl Sync for InvokedCommand
impl Unpin for InvokedCommand
impl UnsafeUnpin for InvokedCommand
impl UnwindSafe for InvokedCommand
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more