Skip to main content

Module invoke

Module invoke 

Source
Expand description

InvokeRequestMessage / InvokeResponseMessage framing — Matter §10.7.

Structs§

InvokeResponseEntry
One parsed InvokeResponseIB from a batched response, with its CommandRef (CommandDataIB / CommandStatusIB tag 2) for matching to the request command.

Enums§

InvokeResponse
Outcome of parsing a single-command InvokeResponseMessage.

Functions§

build_invoke_request
Build an InvokeRequestMessage carrying a single command.
build_invoke_request_batch
Build an InvokeRequestMessage carrying multiple commands, each tagged with a sequential CommandRef (CommandDataIB tag 2) so the device’s responses can be matched back. SuppressResponse and TimedRequest are false. Each tuple is (path, command_fields_tlv), the fields an anonymous-tagged TLV blob (e.g. a matter-clusters command encoder output).
build_invoke_request_group
Like build_invoke_request but sets SuppressResponse = true — the form used for group (multicast) invokes. Group commands are unacknowledged at the IM layer: there is no return path for a multicast send, so the request must instruct the receiving devices to suppress any InvokeResponse (Matter Core Spec §8.9.2 / §10.7.2 — group commands carry SuppressResponse). TimedRequest is false (timed interactions are not available on group sends).
build_invoke_request_timed
Like build_invoke_request but sets TimedRequest = true — the action half of a timed interaction, sent on the same exchange after a TimedRequest message (see crate::build_timed_request).
parse_invoke_response
Parse a single-command InvokeResponseMessage.
parse_invoke_response_batch
Parse a multi-command InvokeResponseMessage: every InvokeResponseIB, each with its CommandRef. The single-command parse_invoke_response is retained for the commissioning path (reads only the first IB, ignores CommandRef).