class Matter::Transport::ExchangeManager

Overview

Manages multiple exchanges

Defined in:

matter/transport/exchange.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new #

[View source]

Instance Method Detail

def active_count : Int32 #

Get count of active exchanges


[View source]
def cleanup_stale_exchanges : Nil #

Clean up timed out exchanges


[View source]
def close_exchange(exchange_id : UInt16) : Nil #

Close and remove exchange


[View source]
def create_exchange(protocol_id : UInt16, session_id : UInt16, peer_address : Socket::IPAddress, peer_node_id : DataType::NodeId | Nil = nil) : Exchange #

Create new exchange as initiator


[View source]
def get_exchange(exchange_id : UInt16) : Exchange | Nil #

Get exchange by ID


[View source]
def get_or_create_exchange(exchange_id : UInt16, protocol_id : UInt16, session_id : UInt16, peer_address : Socket::IPAddress, peer_node_id : DataType::NodeId | Nil = nil, initiator : Bool = false) : Exchange #

Get or create exchange for received message


[View source]
def get_retransmit_candidates : Array(Tuple(UInt16, Codec::MessageCodec::Message)) #

Get all exchanges that need retransmission


[View source]