class Matter::Transport::MessageCounter

Overview

Manages message IDs and deduplication

Matter protocol uses 32-bit message counters for:

Defined in:

matter/transport/message_counter.cr

Constant Summary

WINDOW_SIZE = 64

Rolling window size for duplicate detection (spec recommends at least 32)

Constructors

Instance Method Summary

Constructor Detail

def self.new(counter : UInt32 = 0_u32) #

[View source]

Instance Method Detail

def counter : UInt32 #

[View source]
def mark_received(message_id : UInt32) : Nil #

Mark a message ID as received (for testing/manual tracking)


[View source]
def next : UInt32 #

Get next message ID to send


[View source]
def reset(value : UInt32 = 0_u32) : Nil #

Reset counter (used when establishing new session)


[View source]
def valid?(message_id : UInt32) : Bool #

Check if a received message ID is valid (not a duplicate or replay) Returns true if message should be accepted


[View source]