23#ifndef DETERMINISTICESPASYNCWEBSERVER_DDS_H
24#define DETERMINISTICESPASYNCWEBSERVER_DDS_H
37 static constexpr uint8_t RTPS_SM_PAD = 0x01;
38 static constexpr uint8_t RTPS_SM_ACKNACK = 0x06;
39 static constexpr uint8_t RTPS_SM_HEARTBEAT = 0x07;
40 static constexpr uint8_t RTPS_SM_GAP = 0x08;
41 static constexpr uint8_t RTPS_SM_INFO_TS = 0x09;
42 static constexpr uint8_t RTPS_SM_INFO_SRC = 0x0c;
43 static constexpr uint8_t RTPS_SM_INFO_REPLY_IP4 = 0x0d;
44 static constexpr uint8_t RTPS_SM_INFO_DST = 0x0e;
45 static constexpr uint8_t RTPS_SM_INFO_REPLY = 0x0f;
46 static constexpr uint8_t RTPS_SM_DATA = 0x15;
47 static constexpr uint8_t RTPS_SM_DATA_FRAG = 0x16;
48 static constexpr uint8_t RTPS_FLAG_ENDIAN = 0x01;
49 static constexpr uint8_t RTPS_HEADER_LEN = 20;
50 static constexpr uint8_t RTPS_GUIDPREFIX_LEN = 12;
54extern const uint8_t RTPS_VERSION[2];
62size_t detws_rtps_header(
const uint8_t *guid_prefix,
const uint8_t *vendor_id, uint8_t *out,
size_t cap);
72size_t detws_rtps_submessage(uint8_t
id, uint8_t flags,
const uint8_t *body, uint16_t body_len, uint8_t *out,
76typedef void (*DetwsRtpsCb)(uint8_t id, uint8_t flags,
const uint8_t *body,
size_t body_len,
void *arg);
83bool detws_rtps_parse(
const uint8_t *msg,
size_t len, DetwsRtpsCb cb,
void *arg);
User-facing configuration for DeterministicESPAsyncWebServer.