Expand description
Fragment-Reassembly fuer DDSI-RTPS 2.5 §8.4.14 auf Reader-Seite.
Fuehrt pro in-flight Sample-SN einen FragmentBuffer, in den DATA_FRAG-
Submessages eingespielt werden. Sobald alle Fragmente da sind, faellt
ein vollstaendiger Sample heraus, den der ReliableReader wie ein
regulaeres DATA behandelt.
§DoS-Haltung
Der Assembler muss Input von ungetrusteten Writers robust verarbeiten. Drei Caps schuetzen gegen pathologische Inputs:
max_pending_sns: Hoechstzahl gleichzeitig in Arbeit befindlicher SNs. Ueberlauf verwirft die aelteste (kleinste) unvollstaendige SN.max_sample_bytes: Obergrenze fuersample_size. DATA_FRAGs mitsample_size > capwerden verworfen ohne Allokation — Schutz gegen “ich behaupte 4 GB sample und hoffe, dass du allokierst”.max_fragment_size: Obergrenze fuerfragment_size-Angaben vom Writer. Uebliche MTU ist < 1500; wir akzeptieren bis 65535.
Verworfene Fragmente werden in drop_count gezaehlt (Diagnose).
Structs§
- Assembler
Caps - Konfiguration fuer den Assembler.
- Completed
Sample - Ein vollstaendig reassemblierter Sample.
- Fragment
Assembler - State eines Reassemblers.
Enums§
- Drop
Reason - Zurueckgewiesenes-Fragment-Kategorie — nur fuer Diagnostik.
Constants§
- DEFAULT_
MAX_ FRAGMENT_ SIZE - Default-Cap fuer
fragment_size(u16-Maximum gemaess Spec). - DEFAULT_
MAX_ PENDING_ SNS - Default-Cap fuer Anzahl gleichzeitig in-flight SNs.
- DEFAULT_
MAX_ SAMPLE_ BYTES - Default-Cap fuer maximale Sample-Groesse (1 MiB). Groessere Samples sind in Phase 1 kein Use-Case; DDS-Security/Fragmentation auf grossen Images wartet auf Phase 2+.