SignalingFrame class final
#include <npr/frames/signaling_frame.hpp>
Encoder/decoder for signaling payload (protocol-id kSignaling).
Public static variables
- static size_t kMaxElements constexpr
Public static functions
- static auto append_who_tlv(uint8_t* payload, size_t payload_capacity, size_t* payload_pos, const WhoPayload& who) -> bool
- Appends WHO TLV into signaling payload buffer.
- static auto encode(const NprFrameCodec& codec, const SignalingConnectAckEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air downlink CONNECT_ACK signaling frame.
- static auto encode(const NprFrameCodec& codec, const SignalingConnectNackEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air downlink CONNECT_NACK signaling frame.
- static auto encode(const NprFrameCodec& codec, const SignalingConnectRequestEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air CONNECT_REQ signaling frame.
- static auto encode(const NprFrameCodec& codec, const SignalingDisconnectAckEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air downlink DISCONNECT_ACK signaling frame.
- static auto encode(const NprFrameCodec& codec, const SignalingDisconnectRequestEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air DISCONNECT_REQ signaling frame.
- static auto encode(const NprFrameCodec& codec, const SignalingMasterWhoEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air downlink signaling frame containing master WHO entry.
- static auto encode(const NprFrameCodec& codec, const SignalingWhoEncodeInput& input, uint8_t* out_frame, size_t out_capacity, size_t* out_size) -> bool
- Builds full on-air WHO signaling frame.
- static auto nack_reason_name(uint8_t reason) -> const char*
- Returns readable label for CONNECT_NACK reason.
- static auto parse_connect_request_payload(const uint8_t* data, size_t data_size, ConnectRequestPayload* out_payload) -> bool
- Parses CONNECT_REQ TLV payload body into structured representation.
- static auto parse_who_payload(const uint8_t* data, size_t data_size, WhoPayload* out_payload) -> bool
- Parses WHO TLV payload body into structured representation.
Public functions
- auto decode(const uint8_t* decoded, size_t decoded_size) -> bool
- Parses decoded signaling payload into internal TLV list.
- auto element_at(size_t index) const -> const SignalingElement*
- Returns element at index or
nullptrif out of range. - auto element_count() const -> size_t
- Number of parsed TLV elements.
Function documentation
static bool npr:: rf:: frames:: SignalingFrame:: append_who_tlv(uint8_t* payload,
size_t payload_capacity,
size_t* payload_pos,
const WhoPayload& who)
Appends WHO TLV into signaling payload buffer.
| Parameters | |
|---|---|
| payload | Destination buffer. |
| payload_capacity | Capacity of payload. |
| payload_pos | In/out write cursor. |
| who | |
| Returns | true when append succeeded. |