Diese Seite wurde vollständig KI-generiert auf Basis von SWS Raw Data Stream (R25-11) — kein offizieller AUTOSAR-Text und keine automatisch extrahierte API-Seite wie die übrigen Module. Als Interpretation gekennzeichnete Aussagen sind Schlussfolgerungen aus den Quellen.
Sert de classe de base pour l'encapsulation des tampons de données utiles et des indications de longueur IEEE 1722 dans le streaming de données brutes.
GÉNÉRÉ PAR IAnon vérifiéModèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 187f3b1b82ddProvenanceQuestions ouvertes (2)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand
Sert de classe de base pour l'encapsulation des tampons de données utiles et des indications de longueur IEEE 1722 dans le streaming de données brutes.
La classe ara::rds::IEEE1722Datagram sert, dans le module rds, de classe de base pour l'encapsulation de datagrammes de streaming IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream p. 1). Elle gère, via l'attribut protégé data, le tampon d'octets dynamique en possession exclusive et conserve, avec stream_data_length, la longueur respective des données utiles. La libération des ressources de tampon allouées s'effectue de manière déterministe et sans exception via le destructeur virtuel ~IEEE1722Datagram()[SWS_RDS_90228]. Il n'existe pas de synchronisation interne pour les accès concurrents, de sorte que les utilisations inter-threads doivent être sécurisées de manière externe.
Contexte
La classe ara::rds::IEEE1722Datagram fait office, dans le module rds (Raw Data Stream) de l'AUTOSAR Adaptive Platform, de représentation de base pour les datagrammes conformes à la norme IEEE 1722 (AUTOSAR_AP_SWS_RawDataStream p. 1). Elle est déclarée via l'en-tête ara/rds/raw_data_stream_IEEE1722.h et sert de fondement structurel pour le transport de données de streaming critiques en temps dans le réseau de bord, en particulier via l'Audio Video Transport Protocol (AVTP).
Interprétation : grâce à la mise à disposition d'attributs protégés et d'un destructeur virtuel, ara::rds::IEEE1722Datagram devrait servir de classe de base commune pour différentes structures de datagrammes AVTP spécialisées. Question Q-bb382ff193640c8f (ouverte) La spécification définit dans ce contexte des types apparentés tels que IEEE1722DatagramAVTPDUCommonHeaderFields[SWS_RDS_90233], IEEE1722DatagramAVTPDUCommonStreamHeaderFields[SWS_RDS_90242], IEEE1722Datagram61883_IIDC[SWS_RDS_90260], IEEE1722DatagramAAF[SWS_RDS_90273] ainsi que IEEE1722DatagramTSCF[SWS_RDS_90275]. Ces partenaires d'interaction représentent conjointement l'ossature protocolaire pour différents formats de charge utile (payload).
Le cycle de vie d'une instance de datagramme est principalement déterminé par la gestion du tampon de données associé et le paradigme RAII. L'attribut data est déclaré protégé sous la forme std::unique_ptr<ara::core::Byte[]>[SWS_RDS_90226]. Cela établit une relation de possession exclusive : un datagramme possède son tampon d'octets de manière exclusive, ce qui empêche au niveau du type toute copie non intentionnelle de grands volumes de données.
Conjointement avec le tampon, la longueur des données utiles valides est gérée via le champ protégé stream_data_length de type std::uint16_t[SWS_RDS_90227]. La libération des ressources s'effectue de manière déterministe : la classe fournit un destructeur virtuel ~IEEE1722Datagram() noexcept[SWS_RDS_90228]. Celui-ci garantit que, lors de la destruction d'instances dérivées via un pointeur vers la classe de base, l'ensemble des ressources est libéré intégralement et sans fuite de mémoire.
En matière de concurrence, la classe de base ne contient aucun mécanisme de synchronisation interne. Vraisemblablement, l'accès simultané à une même instance de datagramme depuis plusieurs threads requiert une coordination externe par le composant applicatif. Question (ouverte)
Parcours d'utilisation
Dans un flux de traitement typique au sein du streaming de données brutes, l'utilisation s'effectue via des déclinaisons concrètes de protocole telles que IEEE1722DatagramAAF[SWS_RDS_90273] ou IEEE1722DatagramTSCF[SWS_RDS_90275] :
Création et allocation du tampon : une instance de datagramme spécialisée est instanciée, et le tampon de données protégé data est initialisé en tant que std::unique_ptr<ara::core::Byte[]> avec la zone mémoire requise [SWS_RDS_90226].
Définition de la longueur : la longueur réelle des données utiles du flux est consignée dans stream_data_length[SWS_RDS_90227].
Transmission et traitement : Interprétation : le datagramme devrait de préférence être transporté au moyen d'une sémantique de déplacement à travers le pipeline de traitement du module rds afin d'éviter les opérations de copie superflues de données de streaming. Question Q-ff084c9788ec5cdc (ouverte)
Destruction : une fois le traitement terminé, le datagramme quitte sa portée ; le destructeur virtuel ~IEEE1722Datagram() est appelé et le tampon est automatiquement désalloué [SWS_RDS_90228].
Scénarios d'erreur
Des erreurs lors de la manipulation de ara::rds::IEEE1722Datagram peuvent survenir en particulier lors de la gestion de la mémoire et de la vérification des valeurs limites :
Erreur d'allocation de mémoire : si l'allocation du tableau d'octets dynamique pour data échoue, cela peut entraîner une exception de mémoire standard (std::bad_alloc) avant que le datagramme ne soit mis à disposition de manière valide [SWS_RDS_90226].
Incohérence de longueur : si une valeur dépassant la taille réelle de la mémoire allouée via data est renseignée pour stream_data_length, des dépassements de tampon menacent lors des accès en lecture [SWS_RDS_90227]. Les classes dérivées doivent garantir la cohérence entre l'allocation du tampon et l'indication de la longueur.
Sécurité des exceptions lors de la destruction : le destructeur est explicitement déclaré en tant que noexcept[SWS_RDS_90228]. Cela garantit qu'aucune exception n'est propagée lors de la destruction de l'objet, ce qui est essentiel pour la stabilité des chaînes RAII.
Ce guide a été généré par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.
gemini-3.8-flash-low· 2026-10-13 · Original allemand