Expand description
ParameterList (DDSI-RTPS 2.5 §9.4.2.11).
Tag-Length-Value-Format fuer SPDP/SEDP Builtin-Topic-Daten. Jeder Parameter:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| parameter_id | length |
+---------------+---------------+---------------+---------------+
| value (length bytes) |
+---------------+---------------+---------------+---------------+Terminator: parameter_id = PID_SENTINEL (0x0001), length = 0,
kein Value.
Encoding ist immer mit der Submessage-Endianness; dieses Modul
arbeitet auf rohen Bytes mit explizitem little_endian-Parameter.
Modules§
- pid
- Standard-Parameter-IDs (Spec §9.6.4 + Tabelle 9.13).
Structs§
- Parameter
- Ein einzelner Parameter (Tag + Bytes-Wert).
- Parameter
List - ParameterList = Sequenz von Parametern + Sentinel-Terminator.
Constants§
- MAX_
PARAMETERS - DoS-Cap fuer Parameter-Anzahl in einer ParameterList (SEDP/SPDP-
Amplification-Schutz). 4 096 passt für alle Payloads
(realistisch <100 pro Message); boese Peers koennen u16::MAX=65_535
Mal
{pid=XXXX, length=0}ankuendigen und ohne Cap Stunden-lange Iteration auslosen. - MUST_
UNDERSTAND_ BIT - Spec §9.4.2.11.2 — Must-Understand-Bit der Parameter-ID. Ist es gesetzt und kennt der Receiver den PID nicht, MUSS die ganze Message verworfen werden.
- VENDOR_
SPECIFIC_ BIT - Spec §9.4.2.11.2 — Vendor-spezifische PIDs ab
0x8000.
Functions§
- is_
standard_ pid truewennmasked_pid(ohne Must-Understand- und Vendor-Bits) ein im DDSI-RTPS 2.5 + DDS-Security 1.2 Spec-Set bekannter PID ist. Wird vonParameterList::validate_must_understand_in_data_pipelinegenutzt, um Must-Understand-Reject-Logik (Spec §9.4.2.11.2) zu implementieren.