Expand description
Interaction Model Client implementation.
This module provides client-side functionality for sending IM requests (Read, Write, Invoke, Subscribe) to Matter devices and processing their responses.
Subscribe support covers the establishment phase only — the
SubscribeRequest, the priming ReportData chunks and the
terminal SubscribeResponse. Server-initiated post-establishment
reports arrive on new exchanges over the same session and require
a separate listening abstraction layered on top of the transport.
Structs§
- Invoke
Resp Chunk - First (possibly only) response chunk of an
invoketransaction. Returned byInvokeSender::txonce the peer has ACK-ed the request. - Invoke
Sender - Cornerstone
invoketransaction. See module docs for the pattern. Returned byImClient::invoke_sender. - Invoke
Sender Slot - Internal serialization handle for the in-flight build of an
InvokeSender. - Read
Resp Chunk - First (possibly only) response chunk of a
readtransaction. Returned byReadSender::txonce the peer has ACK-ed the request and the firstReportDatachunk is parsed. - Read
Sender - Cornerstone
readtransaction. See module docs for the pattern. Returned byImClient::read_sender. - Read
Sender Slot - Internal serialization handle for the in-flight build of a
ReadSender. SeeInvokeSenderSlotfor the design rationale — this type exists only becauseTLVBuilderParentrequires theWriteassociated type to be a named type. - Subscribe
Established - Result of a successful subscribe-establishment: the subscription-identifier issued by the peer plus the maximum reporting interval (seconds) the peer committed to.
- Subscribe
Priming Chunk - First (possibly only) priming
ReportDatachunk of a subscribe transaction. Returned bySubscribeSender::txonce the peer has ACK-ed theSubscribeRequestand the firstReportDatais parsed. Sameresponse()shape asReadRespChunk. - Subscribe
Sender - Cornerstone
subscribetransaction. See module docs for the pattern. Returned byImClient::subscribe_sender. - Subscribe
Sender Slot - Internal serialization handle for the in-flight build of a
SubscribeSender. Same role asInvokeSenderSlot— see its docs for why this type exists. - Write
Resp Handle - Handle to the (single, non-chunked) response of a
writetransaction. Returned byWriteSender::txonce the peer has ACK-ed the request and the response is parsed. - Write
Sender - Cornerstone
writetransaction. See module docs for the pattern. Returned byImClient::write_sender. - Write
Sender Slot - Internal serialization handle for the in-flight build of a
WriteSender. SeeInvokeSenderSlotfor the design rationale.
Enums§
- Subscribe
Outcome - What
SubscribePrimingChunk::completereturns: either the next priming chunk in the sequence, or the terminalSubscribeEstablishedcarrying the negotiated subscription identity. - TxOutcome
- Outcome of calling
.tx()on a transaction sender (*Sender).
Traits§
- ImClient
- IM Client trait — extension over an
Exchangethat adds the Matter Interaction Model client operations.