Kapselt gemeenschappelijke headervelden zoals tijdstempels en sequentienummers voor IEEE-1722-AVTPDU-streams in als optionele waarden.
Context
De klasse ara::rds::IEEE1722DatagramAVTPDUCommonStreamHeaderFields stelt binnen de module Raw Data Stream (rds) van het AUTOSAR Adaptive Platform de gemeenschappelijke representatie van de stream-headervelden voor IEEE-1722-AVTPDU-datagrammen beschikbaar SWS RawDataStream p. 1. Deze wordt via de header #include "ara/rds/raw_data_stream_IEEE1722.h" geïncludeerd en vormt het gestandaardiseerde fundament voor de verwerking van Audio/Video Transport Protocol Data Units (AVTPDU) via Ethernet-gebaseerde datastromen. Alle in de specificatie gedefinieerde protocolvariabelen zijn voorzien van de toegangsmodificator protected ([SWS_RDS_90235], [SWS_RDS_90236], [SWS_RDS_90237], [SWS_RDS_90238], [SWS_RDS_90239], [SWS_RDS_90240], [SWS_RDS_90241]). Interpretatie: Dit suggereert dat de klasse is ontworpen als overervingsbasis voor gespecialiseerde datagramtypen en vermoedelijk niet bedoeld is voor direct gebruik als zelfstandig object in applicatiecode. Vraag Q-11a6ac64bcd3c7d8 (open)
De klasse bundelt protocolattributen van de IEEE-1722-AVTP-stroom. Hiertoe behoren het sequentienummer sequenceNum [SWS_RDS_90240] voor het volgen van de pakketvolgorde, de tijdstempel avtp_timestamp van het type ara::tsync::Timestamp [SWS_RDS_90237] voor de temporele inpassing in het gesynchroniseerde netwerk en de tijdsonzekerheidsvlag tu [SWS_RDS_90241]. Aanvullende headervelden zoals MAC-adres, identificatie en vlaggen completeren het protocolframe ([SWS_RDS_90235], [SWS_RDS_90236], [SWS_RDS_90238], [SWS_RDS_90239]). De consequente inkapseling van elk dataveld in een ara::core::Optional houdt er rekening mee dat, afhankelijk van de AVTPDU-formaatvariant, niet steeds alle velden gevuld hoeven te zijn.
Levenscyclus
De instantiëring en levensduur van de gemeenschappelijke headervelden zijn rechtstreeks gekoppeld aan de desbetreffende afgeleide datagramklasse. Omdat de members als protected zijn gedeclareerd, worden ze typisch aangemaakt in de constructor van een gespecialiseerde subklasse zodra een AVTPDU-stroom wordt ontvangen of voor verzending wordt geassembleerd SWS RawDataStream p. 1.
Voor de correcte vernietiging declareert de klasse een virtuele destructor met de naam ~IEEE1722DatagramAVTPDUCommonStreamHeaderFields() noexcept [SWS_RDS_90242]. Door de virtualiteit wordt gewaarborgd dat bij het verwijderen van een datagram via een basisklassepointer de volledige destructor-aanroep van de afgeleide instantie plaatsvindt. De aanduiding als noexcept garandeert dat er bij de vernietiging geen excepties worden geworpen.
Wat betreft gelijktijdigheid biedt de klasse geen synchronisatiemechanismen. Interpretatie: Een thread-safe toegang tot de beschermde members bij parallelle verwerking moet vermoedelijk worden gewaarborgd door bovengeschikte mechanismen van de toepassende lagen. Vraag (open)
Gebruikspad
In de praktijk verloopt het gebruik typisch volgens de volgende stappen:
- Aanmaken en toewijzen: Een afgeleide datagramklasse instantieert de headerstructuur. Bij het verzenden vult deze de benodigde
ara::core::Optional-velden in, bijvoorbeeld het sequentienummer sequenceNum [SWS_RDS_90240] en de AVTP-tijdstempel avtp_timestamp [SWS_RDS_90237].
- Verwerking in het ontvangstpad: Binnenkomende ruwe gegevens worden gedeserialiseerd en toegewezen aan de attributen. De evaluatielogica controleert de aanwezigheid van de optionele waarden en verwerkt bijvoorbeeld de timing via de synchronisatietijdstempel [SWS_RDS_90237] of verwerpt gedupliceerde pakketten aan de hand van
sequenceNum [SWS_RDS_90240].
- Vrijgave: Na verwerking van de stream wordt de instantie via de destructor opgeruimd [SWS_RDS_90242].
Foutscenario's
Voor de klasse zijn in de specificatie geen specifieke foutcodes of exceptietypen gedefinieerd. Mogelijke fouttoestanden blijven beperkt tot de verwerking van de optionele datavelden en interfacevoorwaarden:
Aangezien alle velden zijn ingekapseld als ara::core::Optional ([SWS_RDS_90235], [SWS_RDS_90236], [SWS_RDS_90237], [SWS_RDS_90238], [SWS_RDS_90239], [SWS_RDS_90240], [SWS_RDS_90241]), moet vóór de toegang tot de waarde ervan zijn gewaarborgd dat het veld een geldige waarde bevat. Een ongecontroleerde directe toegang tot een leeg Optional-object leidt tot foutief gedrag.
De destructor is gedeclareerd als noexcept [SWS_RDS_90242]. Eventueel optredende fouten bij het opschonen van resources in afgeleide structuren mogen derhalve niet als excepties worden doorgegeven, maar moeten intern worden afgehandeld.
Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Duits origineel