DeterministicESPAsyncWebServer v6.28.0
Zero-allocation, bounded-execution async HTTP server for ESP32
Loading...
Searching...
No Matches
dds.h File Reference

DDS / RTPS wire-protocol codec (DETWS_ENABLE_DDS). More...

#include "ServerConfig.h"
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Detailed Description

DDS / RTPS wire-protocol codec (DETWS_ENABLE_DDS).

DDS (OMG Data Distribution Service) publishes on the wire as RTPS (DDSI-RTPS, the Real-Time Publish-Subscribe protocol), normally over UDP multicast. An RTPS message is a 20-octet header followed by a sequence of submessages:

Header (20): "RTPS" | protocol version (2) | vendorId (2) | guidPrefix (12) Submessage: submessageId (1) | flags (1) | octetsToNextHeader (2, endian per the E flag) | body

This is the message + submessage framing codec: detws_rtps_header / detws_rtps_submessage build them and detws_rtps_parse validates the header (magic + version) and walks the submessages, surfacing each via a callback. The per-submessage bodies (DATA serialized-payload/CDR, HEARTBEAT sequence-number sets, the discovery SPDP/SEDP topics) layer on top of this framing.

Pure, zero heap, no stdlib, host-testable.

Definition in file dds.h.