Skip to main content

build_invoke_request_batch

Function build_invoke_request_batch 

Source
pub fn build_invoke_request_batch(commands: &[(CommandPath, &[u8])]) -> Vec<u8> 
Expand description

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).

NB: the wire format permits a batch, but a device only accepts more than one command if it advertises MaxPathsPerInvoke > 1 in its SessionParameters; the controller-side gating is deferred (M9-B5 scope) — callers must respect it.

§Panics

As build_invoke_request (a command_fields_tlv that is not a valid anonymous-tagged TLV element).