Skip to main content

Module parameter_list

Module parameter_list 

Source
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).
ParameterList
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
true wenn masked_pid (ohne Must-Understand- und Vendor-Bits) ein im DDSI-RTPS 2.5 + DDS-Security 1.2 Spec-Set bekannter PID ist. Wird von ParameterList::validate_must_understand_in_data_pipeline genutzt, um Must-Understand-Reject-Logik (Spec §9.4.2.11.2) zu implementieren.