class
Matter::Transport::UDPTransport
- Matter::Transport::UDPTransport
- Reference
- Object
Overview
UDP transport layer for Matter protocol
Handles:
- Sending and receiving Matter messages over UDP
- Message deduplication
- Automatic retransmission with exponential backoff
- Exchange management (request/response correlation)
Defined in:
matter/transport/udp_transport.crConstant Summary
-
MATTER_PORT =
5540 -
Matter default port
Constructors
Instance Method Summary
-
#close : Nil
Close transport and release resources
- #exchange_manager : ExchangeManager
- #message_counter : MessageCounter
-
#on_message : Proc(Codec::MessageCodec::Message, Socket::IPAddress, Nil) | Nil
Callback for received messages Signature: (message : Codec::MessageCodec::Message, peer_address : Socket::IPAddress) -> Nil
-
#on_message=(on_message : Proc(Codec::MessageCodec::Message, Socket::IPAddress, Nil) | Nil)
Callback for received messages Signature: (message : Codec::MessageCodec::Message, peer_address : Socket::IPAddress) -> Nil
- #port : Int32
-
#process_retransmissions : Nil
Process retransmissions Should be called periodically (e.g., every 50ms)
-
#send_message(message : Codec::MessageCodec::Message, peer_address : Socket::IPAddress, exchange : Exchange | Nil = nil) : Nil
Send a Matter message
-
#send_raw(data : Bytes | Slice(UInt8), peer_address : Socket::IPAddress) : Nil
Send raw packet (for testing)
-
#send_request(protocol_id : UInt16, message_type : UInt8, payload : Bytes | Slice(UInt8), session_id : UInt16, peer_address : Socket::IPAddress, peer_node_id : DataType::NodeId | Nil = nil, source_node_id : DataType::NodeId | Nil = nil, requires_ack : Bool = true) : Exchange
Create and send a message on a new exchange
- #socket : UDPSocket
-
#start : Nil
Start receiving messages in background
-
#stop : Nil
Stop receiving messages
Constructor Detail
Instance Method Detail
Callback for received messages Signature: (message : Codec::MessageCodec::Message, peer_address : Socket::IPAddress) -> Nil
Callback for received messages Signature: (message : Codec::MessageCodec::Message, peer_address : Socket::IPAddress) -> Nil
Process retransmissions Should be called periodically (e.g., every 50ms)
Send a Matter message
Send raw packet (for testing)
Create and send a message on a new exchange