DEENESPTFRRUARHIKOZHNL

klasse 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

User GuideAI-GEGENEREERD

Maakt de periodieke overdracht van UDS-diagnoseberichten ter ondersteuning van service 0x2A mogelijk.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: fabfa1b95261 Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Maakt de periodieke overdracht van UDS-diagnoseberichten ter ondersteuning van service 0x2A mogelijk.

De klasse apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler biedt een puur virtuele interface voor de afhandeling van de periodieke UDS-service 0x2A via transportspecifieke diagnosekanalen ([SWS_DM_01064]). Deze stelt het diagnosebeheer in staat om kanaalspecifieke payload- en hoeveelheidslimieten te bepalen, evenals de ordelijke overdracht van meerdere UDS-berichten via PeriodicTransmit ([SWS_DM_01067]). Als het verzenden van een bericht mislukt, wordt het proces afgebroken en wordt de toestand gemeld via een bevestigingsfunctie. Aangezien alle methoden als niet-thread-safe zijn gespecificeerd, moeten gelijktijdige toegangen door de aanroeper worden gesynchroniseerd.

Context

De puur virtuele klasse apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler vormt de gestandaardiseerde interface ter ondersteuning van het periodiek uitlezen van diagnosegegevens conform de UDS-service 0x2A ([SWS_DM_01064], AUTOSAR_AP_SWS_Diagnostics §C.3.1 “Class: UdsTransportProtocolPeriodicHandler”). In het diagnosesysteem van het AUTOSAR Adaptive Platform ontkoppelt deze het bovenliggende diagnosebeheer van de concrete netwerk- en transportprotocolimplementatie. Terwijl het diagnosebeheer binnenkomende verzoeken voor periodieke overdrachten evalueert en de bijbehorende datapakketten samenstelt, verzorgt de handler de daadwerkelijke overdracht van deze periodieke berichten over een concrete verbinding ([SWS_DM_01067]). Als interactiepartners fungeren daarbij het diagnosebeheer aan de aanroeperszijde en het respectievelijke communicatiekanaal, dat wordt geïdentificeerd via een unieke ChannelID ([SWS_DM_01065], [SWS_DM_01066]).

diag_periodic_kontext diag_server Diagnose-Server (UDS 0x2A) handler UdsTransportProtocolPeriodicHandler diag_server->handler Capaciteitsopvraag & verzendopdracht handler->diag_server PeriodicTransmit Confirmation transport Transportschicht (ChannelID) handler->transport Periodische Nachrichten

Contextdiagram: Inbedding van de UdsTransportProtocolPeriodicHandler tussen de diagnoseserver en de transportlaag. Bronnen: [SWS_DM_01064], [SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1 “Class: UdsTransportProtocolPeriodicHandler”.

Levenscyclus

Aangezien UdsTransportProtocolPeriodicHandler is gedefinieerd als een abstracte basisinterface met puur virtuele methoden, kan deze niet direct worden geïnstantieerd ([SWS_DM_01064]). De creatie van concrete handler-instanties vindt vermoedelijk plaats door transportspecifieke drivercomponenten (bijvoorbeeld voor DoIP- of CAN-gebaseerde protocollen). Vraag Q-d0b3bf3b0c14dcf6 (open) De levenscyclus van de instantie is typisch gebonden aan de beschikbaarheid van de betreffende transportprotocol-stack. Voor de correcte polymorfe vernietiging bij beëindiging van de communicatiestack stelt de klasse een virtuele destructor ~UdsTransportProtocolPeriodicHandler() beschikbaar ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 “Destructor”).

Wat betreft gelijktijdigheid zijn alle lidfuncties van de klasse expliciet aangeduid als niet-thread-safe (not thread-safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Bij parallelle toegang vanuit meerdere threads of gelijktijdige verzoeken via dezelfde ChannelID moeten aanroepers de toegangen daarom onder eigen verantwoordelijkheid synchroniseren.

Gebruikspad

Een typisch verloop voor het uitvoeren van periodieke berichtoverdrachten voor de service 0x2A is onderverdeeld in de volgende stappen:

Periodieke overdracht via UdsTransportProtocolPeriodicHandlerDiagnose-Server (0x2A)UdsTransportProtocolPeriodicHandlerTransportschicht / KanalUse Case: Kanalparameter ermittelnGetMaxPayloadLength(channelId)maxPayloadLengthGetNumberOfPeriodicMessages(channelId)numberOfPeriodicMessagesUse Case: Periodischer SendevorgangPeriodicTransmit(channelId, messages)loopVoor elk bericht in messagesDraag bericht overaltOverdrachtsfout opgetredenSendeprozess stoppenPeriodicTransmit Confirmation(anzahlGesendet, messages)Alle berichten succesvolPeriodicTransmit Confirmation(gesamtAnzahl, messages)

Sequentiediagram: Typisch verloop van de capaciteitsopvraag, het periodiek verzenden en de bevestiging. Bronnen: [SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067].

Foutscenario's

Tijdens de uitvoering van PeriodicTransmit worden alle berichten in de lijst achtereenvolgens overgedragen. Als de overdracht van een afzonderlijk bericht mislukt, wordt het gehele verzendproces onmiddellijk afgebroken ([SWS_DM_01067]). De daaropvolgende berichten in de lijst worden in dat geval niet meer verzonden. Voor foutdiagnose en informatie aan het diagnosebeheer wordt desalniettemin de bevestigingsaanroep PeriodicTransmit Confirmation geactiveerd. Deze bevat het aantal tot aan het afbreken succesvol verzonden berichten en ongewijzigd de volledige vector met UDS-berichten ([SWS_DM_01067]). Hierdoor kan het diagnosebeheer exact nagaan welk bericht de fout heeft veroorzaakt.

Alle interfacemethoden zijn gespecificeerd als noexcept en exception-safe (exception safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Fouttoestanden bij de overdracht leiden niet tot C++-excepties, maar worden deterministisch gemeld via het daarvoor bestemde bevestigingsmechanisme.

Deze klassehandleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform Release R25-11 en is automatisch gegenereerd.

Ledenkaart

Klassendiagram

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

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

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

Methoden

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;

Documentatie van de methoden

functie 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#e4ddffd9
Content hash
e4ddffd9
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

functie 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#c4c3b132
Content hash
c4c3b132
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

functie 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.

DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: ceb97c8b447f Herkomst
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

De zuiver virtuele methode PeriodicTransmit van de interface apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler dient voor het gebundeld verzenden van periodieke UDS-berichten via een bestaande transportverbinding [SWS_DM_01067]. Deze wordt typisch aangeroepen door Diagnostic Management (DM) in het kader van periodieke overdracht volgens schedulertype 1 conform ISO 14229-1, waarbij geconfigureerde periodieke DID's (PDID's) cyclisch worden getriggerd AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission [SWS_DM_01060].

Parameters en semantiek

  • channelId: Identifier van het concrete communicatiekanaal waarover de overdracht plaatsvindt [SWS_DM_01067].
  • messages: Geordende lijst (ara::core::Vector<UdsMessageConstPtr>) van alle direct na elkaar over te dragen berichten [SWS_DM_01067].

De functie levert geen retourwaarde op en garandeert als noexcept gedeclareerde uitzonderingsveiligheid [SWS_DM_01067]. De berichten worden strikt in de doorgegeven volgorde verwerkt.

Foutafhandeling en bevestiging

Mislukt het verzenden van een afzonderlijk bericht, dan breekt de gehele verzendprocedure onmiddellijk af [SWS_DM_01067]. Voor het terugmelden van het resultaat wordt de bevestigingsfunctie PeriodicTransmitConfirmation van UdsTransportProtocolMgr aangeroepen [SWS_DM_01069]. Deze callback geeft het aantal succesvol verzonden berichten door, evenals dezelfde oorspronkelijke berichtenvector [SWS_DM_01067].

Concurrency

De methode is gespecificeerd als not thread-safe [SWS_DM_01067]. Parallelle aanroepen op dezelfde instantie moeten aan aanroeperszijde worden gesynchroniseerd.

Deze tekst is door een AI gegenereerd op basis van de specificatie AUTOSAR Adaptive R25-11.

Implementer's Guide volgt (complexiteit 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#d3168397
Content hash
d3168397
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

functie ~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#c5245eb4
Content hash
c5245eb4
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