class
Matter::Protocol::MessageHandler
- Matter::Protocol::MessageHandler
- Reference
- Object
Overview
Protocol message handler that routes incoming messages to appropriate handlers
Handles:
- Secure Channel protocol (0x0000) - PASE, CASE, etc.
- Interaction Model protocol (0x0001) - Read, Write, Invoke, Subscribe
Defined in:
matter/protocol/message_handler.crConstant Summary
-
Log =
::Log.for("matter.protocol") -
MSG_CASE_SIGMA1 =
48_u8 -
MSG_CASE_SIGMA2 =
49_u8 -
MSG_CASE_SIGMA3 =
50_u8 -
MSG_PASE_PAKE1 =
34_u8 -
MSG_PASE_PAKE2 =
35_u8 -
MSG_PASE_PAKE3 =
36_u8 -
MSG_PBKDF_PARAM_REQUEST =
32_u8 -
MSG_PBKDF_PARAM_RESPONSE =
33_u8 -
MSG_STANDALONE_ACK =
16_u8 -
Secure Channel Message Types
-
MSG_STATUS_REPORT =
64_u8 -
PROTOCOL_BDX =
2_u16 -
PROTOCOL_INTERACTION_MODEL =
1_u16 -
PROTOCOL_SECURE_CHANNEL =
0_u16 -
Protocol IDs
-
PROTOCOL_USER_DIRECTED_COMM =
3_u16
Constructors
Instance Method Summary
- #case_initiator_session_id : UInt16 | Nil
- #case_initiator_session_id=(case_initiator_session_id : UInt16 | Nil)
-
#case_responder : Session::Case::CaseResponder | Nil
CASE support
-
#case_responder=(case_responder : Session::Case::CaseResponder | Nil)
CASE support
- #case_responder_session_id : UInt16 | Nil
- #case_responder_session_id=(case_responder_session_id : UInt16 | Nil)
- #clusters : Hash(Tuple(UInt16, UInt32), Cluster::Base)
- #discriminator : UInt16
- #discriminator=(discriminator : UInt16)
-
#handle_message(msg : Codec::MessageCodec::Message, peer : Socket::IPAddress) : Nil
Main message routing entry point
-
#initiator_session_id : UInt16 | Nil
PASE session IDs from PBKDF exchange
-
#initiator_session_id=(initiator_session_id : UInt16 | Nil)
PASE session IDs from PBKDF exchange
- #iterations : UInt32
- #iterations=(iterations : UInt32)
-
#on_get_fabric : Proc(Fabric | Nil) | Nil
Fabric access callback - set by the device implementation This allows the message handler to access fabric data for CASE
-
#on_get_fabric=(on_get_fabric : Proc(Fabric | Nil) | Nil)
Fabric access callback - set by the device implementation This allows the message handler to access fabric data for CASE
- #pase_responder : Session::Pase::PaseResponder | Nil
-
#pbkdf_request_payload : Bytes | Nil
PASE context: store request/response payloads for context hashing
-
#pbkdf_request_payload=(pbkdf_request_payload : Bytes | Nil)
PASE context: store request/response payloads for context hashing
- #pbkdf_response_payload : Bytes | Nil
- #pbkdf_response_payload=(pbkdf_response_payload : Bytes | Nil)
- #responder_session_id : UInt16 | Nil
- #responder_session_id=(responder_session_id : UInt16 | Nil)
- #salt : Bytes
- #salt=(salt : Bytes)
- #sessions : Hash(UInt16, Session::SecureContext)
-
#setup_pin : UInt32
Device credentials for PASE
-
#setup_pin=(setup_pin : UInt32)
Device credentials for PASE
- #transport : Transport::UDPTransport
Constructor Detail
Instance Method Detail
Main message routing entry point
PASE session IDs from PBKDF exchange
Fabric access callback - set by the device implementation This allows the message handler to access fabric data for CASE
Fabric access callback - set by the device implementation This allows the message handler to access fabric data for CASE
PASE context: store request/response payloads for context hashing
PASE context: store request/response payloads for context hashing