pub enum InvokeResponse {
Command {
path: CommandPath,
fields_tlv: Vec<u8>,
},
Status(ImStatus),
}Expand description
Outcome of parsing a single-command InvokeResponseMessage.
Variants§
Command
The device returned a response command. fields_tlv is the
re-anonymised CommandFields struct, ready to hand to
Commissioner::on_response.
Fields
§
path: CommandPathPath of the response command ((endpoint, cluster, command)).
§
fields_tlv: Vec<u8>The device’s original CommandFields bytes, verbatim, under
a fresh anonymous tag: 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 device 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.
Status(ImStatus)
The device returned a bare status (no response command payload).
Trait Implementations§
Source§impl Clone for InvokeResponse
impl Clone for InvokeResponse
Source§fn clone(&self) -> InvokeResponse
fn clone(&self) -> InvokeResponse
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 InvokeResponse
impl Debug for InvokeResponse
impl Eq for InvokeResponse
Source§impl PartialEq for InvokeResponse
impl PartialEq for InvokeResponse
impl StructuralPartialEq for InvokeResponse
Auto Trait Implementations§
impl Freeze for InvokeResponse
impl RefUnwindSafe for InvokeResponse
impl Send for InvokeResponse
impl Sync for InvokeResponse
impl Unpin for InvokeResponse
impl UnsafeUnpin for InvokeResponse
impl UnwindSafe for InvokeResponse
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