prf::serial namespace

Classes

class ControlFrameStreamDecoder
Incremental serial-frame decoder with inter-byte timeout handling.
struct ControlFrameView
Borrowed decoded view of one serial control frame.
struct ControlFrameViewDecodeResult
Incremental decode result for one encoded frame stream.
class ControlService
Serial transport adapter around the transport-neutral control exchange.
class ControlServiceTaskRunner
Task runner that keeps one serial control transport active.
class IStreamIo
Abstract byte-stream backend used by the serial control transport.

Enums

enum class ControlFrameKind: uint8_t { Request = 1u, Response = 2u }
Serial control frame kind.
enum class ControlResponseCode: uint8_t { Ok = 0u, Changed = 1u, InvalidRequest = 2u, Unauthorized = 3u, NotFound = 4u, ServiceUnavailable = 5u, Busy = 6u }
Logical response status mapped from ExchangeService.
enum class ControlTransportStatus: uint8_t { Ok = 0u, InvalidFrame = 1u, BadCrc = 2u, BadLength = 3u, UnsupportedVersion = 4u, UnsupportedKind = 5u, InternalError = 6u }
Transport-layer serial framing status.

Functions

auto decode_control_frame_view(const std::span<const uint8_t> encoded_frame, const std::span<uint8_t> raw_scratch, ControlFrameViewDecodeResult*const out_result) -> bool
Decodes one complete encoded frame into a borrowed logical view.
auto encode_control_frame_into(const ControlFrameView& frame, const std::span<uint8_t> raw_scratch, const std::span<uint8_t> encoded_buffer, std::span<const uint8_t>*const out_encoded) -> bool
Encodes one logical frame into serial wire format.
auto encoded_control_frame_upper_bound(const size_t payload_size) -> size_t
Returns worst-case encoded size for one payload length.

Variables

uint16_t kContentFormatAbsent constexpr
Sentinel content-format value meaning that outer transport format is absent.
uint8_t kControlProtocolVersion constexpr
Wire protocol version for PacketRF serial control transport.
size_t kDefaultMaxEncodedControlFrameBytes constexpr
Worst-case encoded frame bytes including framing escapes and delimiters.
size_t kDefaultMaxRawControlFrameBytes constexpr
Worst-case decoded frame bytes including metadata and CRC.

Enum documentation

enum class prf::serial::ControlFrameKind: uint8_t

Serial control frame kind.

enum class prf::serial::ControlResponseCode: uint8_t

Logical response status mapped from ExchangeService.

enum class prf::serial::ControlTransportStatus: uint8_t

Transport-layer serial framing status.

Function documentation

bool prf::serial::decode_control_frame_view(const std::span<const uint8_t> encoded_frame, const std::span<uint8_t> raw_scratch, ControlFrameViewDecodeResult*const out_result)

Decodes one complete encoded frame into a borrowed logical view.

bool prf::serial::encode_control_frame_into(const ControlFrameView& frame, const std::span<uint8_t> raw_scratch, const std::span<uint8_t> encoded_buffer, std::span<const uint8_t>*const out_encoded)

Encodes one logical frame into serial wire format.

size_t prf::serial::encoded_control_frame_upper_bound(const size_t payload_size)

Returns worst-case encoded size for one payload length.

Variable documentation

uint16_t prf::serial::kContentFormatAbsent constexpr

Sentinel content-format value meaning that outer transport format is absent.

uint8_t prf::serial::kControlProtocolVersion constexpr

Wire protocol version for PacketRF serial control transport.

size_t prf::serial::kDefaultMaxEncodedControlFrameBytes constexpr

Worst-case encoded frame bytes including framing escapes and delimiters.

size_t prf::serial::kDefaultMaxRawControlFrameBytes constexpr

Worst-case decoded frame bytes including metadata and CRC.