DEENESPTFRRUARHIKOZHNL

classe apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler

[SWS_DM_01064] Upstream: RS_Diag_04215

class UdsTransportProtocolPeriodicHandler {...};

UdsTransportProtocolPeriodicHandler class to support 0x2A service from ISO.

Header-Datei#include "apext/diag/uds_transport/protocol_periodic_handler.h"
Forwarding-Header#include "apext/diag/diag_fwd.h"
Scopenamespace apext::diag::uds_transport

Guide utilisateurGÉNÉRÉ PAR IA

Permet la transmission périodique de messages de diagnostic UDS afin de prendre en charge le service 0x2A.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fabfa1b95261 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Permet la transmission périodique de messages de diagnostic UDS afin de prendre en charge le service 0x2A.

La classe apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler fournit une interface purement virtuelle pour le traitement du service UDS périodique 0x2A via des canaux de diagnostic spécifiques au transport ([SWS_DM_01064]). Elle permet à la gestion du diagnostic de déterminer les limites de charge utile et de quantité spécifiques au canal ainsi que d'assurer la transmission ordonnée de plusieurs messages UDS au moyen de PeriodicTransmit ([SWS_DM_01067]). Si l'envoi d'un message échoue, l'opération est interrompue et l'état est signalé via une fonction de confirmation. Toutes les méthodes étant spécifiées comme non thread-safe, les accès concurrents doivent être synchronisés par l'appelant.

Contexte

La classe purement virtuelle apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler constitue l'interface standardisée permettant de prendre en charge la lecture périodique de données de diagnostic conformément au service UDS 0x2A ([SWS_DM_01064], AUTOSAR_AP_SWS_Diagnostics §C.3.1 « Class: UdsTransportProtocolPeriodicHandler »). Dans le système de diagnostic d'AUTOSAR Adaptive Platform, elle découple la gestion de diagnostic de niveau supérieur de l'implémentation concrète du réseau et du protocole de transport. Tandis que la gestion de diagnostic évalue les requêtes entrantes pour les transmissions périodiques et assemble les paquets de données correspondants, le gestionnaire prend en charge la transmission effective de ces messages périodiques via une connexion concrète ([SWS_DM_01067]). Les partenaires d'interaction sont la gestion de diagnostic côté appelant ainsi que le canal de communication respectif, identifié par un ChannelID unique ([SWS_DM_01065], [SWS_DM_01066]).

diag_periodic_kontext diag_server Diagnose-Server (UDS 0x2A) handler UdsTransportProtocolPeriodicHandler diag_server->handler Interrogation de capacité & ordre d'envoi handler->diag_server PeriodicTransmit Confirmation transport Transportschicht (ChannelID) handler->transport Periodische Nachrichten

Diagramme de contexte : intégration de l'UdsTransportProtocolPeriodicHandler entre le serveur de diagnostic et la couche de transport. Sources : [SWS_DM_01064], [SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1 « Class: UdsTransportProtocolPeriodicHandler ».

Cycle de vie

Étant donné que UdsTransportProtocolPeriodicHandler est définie comme une interface de base abstraite dotée de méthodes purement virtuelles, elle ne peut pas être instanciée directement ([SWS_DM_01064]). L'instanciation de gestionnaires concrets est vraisemblablement effectuée par des composants pilotes spécifiques au transport (par exemple pour les protocoles basés sur DoIP ou CAN). Question Q-d0b3bf3b0c14dcf6 (ouverte) Le cycle de vie de l'instance est typiquement lié à la disponibilité de la pile de protocoles de transport respective. Pour assurer une destruction polymorphe propre lors de l'arrêt de la pile de communication, la classe fournit un destructeur virtuel ~UdsTransportProtocolPeriodicHandler() ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 « Destructor »).

Concernant la concurrence, toutes les fonctions membres de la classe sont explicitement désignées comme non sûres pour les threads (not thread-safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). En cas d'accès parallèle via plusieurs threads ou de requêtes simultanées via le même ChannelID, les appelants doivent donc synchroniser les accès sous leur propre responsabilité.

Parcours d'utilisation

Un déroulement typique de réalisation de transmissions de messages périodiques pour le service 0x2A se décompose selon les étapes suivantes :

Transmission périodique via UdsTransportProtocolPeriodicHandlerDiagnose-Server (0x2A)UdsTransportProtocolPeriodicHandlerTransportschicht / KanalUse Case: Kanalparameter ermittelnGetMaxPayloadLength(channelId)maxPayloadLengthGetNumberOfPeriodicMessages(channelId)numberOfPeriodicMessagesUse Case: Periodischer SendevorgangPeriodicTransmit(channelId, messages)loopPour chaque message dans messagesTransmettre le messagealtErreur de transmission survenueSendeprozess stoppenPeriodicTransmit Confirmation(anzahlGesendet, messages)Tous les messages ont réussiPeriodicTransmit Confirmation(gesamtAnzahl, messages)

Diagramme de séquence : déroulement typique de l'interrogation de capacité, de l'émission périodique et de la confirmation. Sources : [SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067].

Scénarios d'erreur

Pendant l'exécution de PeriodicTransmit, tous les messages de la liste sont transmis successivement. Si la transmission d'un message individuel échoue, l'ensemble du processus d'émission est immédiatement interrompu ([SWS_DM_01067]). Les messages suivants de la liste ne sont alors plus envoyés. Pour le diagnostic d'erreurs et l'information de la gestion de diagnostic, l'appel de confirmation PeriodicTransmit Confirmation est néanmoins déclenché. Celui-ci contient le nombre de messages transmis avec succès jusqu'à l'interruption ainsi que, sans modification, le vecteur complet de messages UDS ([SWS_DM_01067]). La gestion de diagnostic peut ainsi déterminer avec exactitude quel message a provoqué l'erreur.

Toutes les méthodes d'interface sont spécifiées comme noexcept et sûres vis-à-vis des exceptions (exception safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Les états d'erreur lors de la transmission n'entraînent pas d'exceptions C++, mais sont signalés de manière déterministe par le biais du mécanisme de confirmation prévu.

Ce guide de classe est basé sur la spécification AUTOSAR Adaptive Platform Release R25-11 et a été généré automatiquement.

Carte des membres

Diagramme de classes

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G napext__diag__uds_transport__UdsTransportProtocolPeriodicHandler54 UdsTransportProtocolPeriodicHandler + ~UdsTransportProtocolPeriodicHandler() + GetMaxPayloadLength() + GetNumberOfPeriodicMessages() + PeriodicTransmit()

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

Méthodes

Reports the maximum payload length supported for a single periodic transmission on the channel.

virtual std::size_t GetMaxPayloadLength (ChannelID channelId) const noexcept=0;

Reports the Transport Protocol implementation and connection specific number of periodic messages.

virtual std::size_t GetNumberOfPeriodicMessages (ChannelID channelId) const noexcept=0;

Sends all the messages in the list in the given order. If one message transmission fails, the send process is stopped and the PeriodicTransmit Confirmation is invoked with the number of sent messages and the same Vector with Uds Messages.

virtual void PeriodicTransmit (ChannelID channelId, ara::core::Vector< UdsMessageConstPtr > messages) noexcept=0;

Documentation des méthodes

fonction GetMaxPayloadLength [SWS_DM_01066] Upstream: RS_Diag_04215

virtual std::size_t GetMaxPayloadLength (ChannelID channelId) const noexcept=0;

Reports the maximum payload length supported for a single periodic transmission on the channel.

Header-Datei#include "apext/diag/uds_transport/protocol_periodic_handler.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
channelIdThe concrete connection for which the maximum payload length is reported.

Rückgabewert

TypBeschreibung
std::size_tSupported payload length

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01066
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01066@rel:R25-11#f4cee12f
Content hash
f4cee12f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01066
Status: valid/unmigrated Version: rel:R25-11#cac9e976 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01066@rel:R25-11#cac9e976
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#1dc32cc82026-09-30
  • R20-11rel:R20-11#28bcd8642026-10-14
  • R21-11rel:R21-11#a933cb442026-10-14
  • R22-11rel:R22-11#7020a1832026-10-14
  • R23-11rel:R23-11#68f8be1a2026-10-14
  • R24-11rel:R24-11#22ba880f2026-10-14
  • R25-11rel:R25-11#cac9e9762026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction GetNumberOfPeriodicMessages [SWS_DM_01065] Upstream: RS_Diag_04215

virtual std::size_t GetNumberOfPeriodicMessages (ChannelID channelId) const noexcept=0;

Reports the Transport Protocol implementation and connection specific number of periodic messages.

Header-Datei#include "apext/diag/uds_transport/protocol_periodic_handler.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
channelIdThe concrete connection to send over.

Rückgabewert

TypBeschreibung
std::size_tNumber of periodic messages.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01065
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01065@rel:R25-11#42473833
Content hash
42473833
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01065
Status: valid/unmigrated Version: rel:R25-11#4725f9e5 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01065@rel:R25-11#4725f9e5
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#f28623fc2026-09-30
  • R20-11rel:R20-11#bdc723c72026-10-14
  • R21-11rel:R21-11#bdc723c72026-10-14
  • R22-11rel:R22-11#81d54d3a2026-10-14
  • R23-11rel:R23-11#2c2c83b92026-10-14
  • R24-11rel:R24-11#1dee77bf2026-10-14
  • R25-11rel:R25-11#4725f9e52026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction PeriodicTransmit [SWS_DM_01067] Upstream: RS_Diag_04215

virtual void PeriodicTransmit (ChannelID channelId, ara::core::Vector< UdsMessageConstPtr > messages) noexcept=0;

Sends all the messages in the list in the given order. If one message transmission fails, the send process is stopped and the PeriodicTransmit Confirmation is invoked with the number of sent messages and the same Vector with Uds Messages.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : ceb97c8b447f Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La méthode purement virtuelle PeriodicTransmit de l'interface apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler sert à l'envoi groupé de messages UDS périodiques sur une connexion de transport existante [SWS_DM_01067]. Elle est typiquement appelée par le Diagnostic Management (DM) dans le cadre de la transmission périodique selon le planificateur de type 1 conformément à l'ISO 14229-1, dans laquelle les DID périodiques configurés (PDID) sont déclenchés cycliquement AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission [SWS_DM_01060].

Paramètres et sémantique

  • channelId : identifiant du canal de communication concret sur lequel s'effectue la transmission [SWS_DM_01067].
  • messages : liste ordonnée (ara::core::Vector<UdsMessageConstPtr>) de tous les messages à transmettre directement les uns après les autres [SWS_DM_01067].

La fonction ne fournit aucune valeur de retour et garantit une sécurité vis-à-vis des exceptions déclarée en tant que noexcept [SWS_DM_01067]. Les messages sont traités strictement dans l'ordre transmis.

Traitement des erreurs et confirmation

Si l'envoi d'un message individuel échoue, l'ensemble du processus d'envoi est immédiatement interrompu [SWS_DM_01067]. Pour notifier le résultat, la fonction de confirmation PeriodicTransmitConfirmation du UdsTransportProtocolMgr est appelée [SWS_DM_01069]. Ce rappel transmet le nombre de messages transmis avec succès ainsi que le même vecteur de messages d'origine [SWS_DM_01067].

concurrence

La méthode est spécifiée comme not thread-safe [SWS_DM_01067]. Les appels parallèles sur la même instance doivent être synchronisés côté appelant.

Ce texte a été généré par une IA sur la base de la spécification AUTOSAR Adaptive R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "apext/diag/uds_transport/protocol_periodic_handler.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
channelIdThe concrete connection to send over
messagesOrdered list of messages to send at once

Rückgabewert

TypBeschreibung
None

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01067
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01067@rel:R25-11#cf944d46
Content hash
cf944d46
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01067
Status: valid/unmigrated Version: rel:R25-11#59bd4882 Versionshistorie & Revisions (1 transition, 7 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01067@rel:R25-11#59bd4882
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#f35c930a2026-09-30
  • R20-11rel:R20-11#6586083c2026-10-14
  • R21-11rel:R21-11#5d391bcd2026-10-14
  • R22-11rel:R22-11#3723eafa2026-10-14
  • R23-11rel:R23-11#eb3e5ef12026-10-14
  • R24-11rel:R24-11#9533d1602026-10-14
  • R25-11rel:R25-11#59bd48822026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

fonction ~UdsTransportProtocolPeriodicHandler [SWS_DM_02089] Upstream: RS_Diag_04215

virtual ~UdsTransportProtocolPeriodicHandler () noexcept;

Destructor.

Header-Datei#include "apext/diag/uds_transport/protocol_periodic_handler.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02089
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02089@rel:R25-11#e3d22e37
Content hash
e3d22e37
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02089
Status: valid/unmigrated Version: rel:R25-11#d455b1a3 Versionshistorie & Revisions (1 transition, 3 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_02089@rel:R25-11#d455b1a3
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#a6cfcd7a2026-09-30
  • R24-11rel:R24-11#b5a34f3b2026-10-14
  • R25-11rel:R25-11#d455b1a32026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill