DEENESPTFRRUARHIKOZHNL

क्लास 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

उपयोगकर्ता गाइडएआई जनित

सर्विस 0x2A के समर्थन के लिए UDS डायग्नोस्टिक संदेशों के आवधिक संचरण को सक्षम बनाता है।
एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: fabfa1b95261 उद्गम खुले प्रश्न (3)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

सर्विस 0x2A के समर्थन के लिए UDS डायग्नोस्टिक संदेशों के आवधिक संचरण को सक्षम बनाता है।

क्लास apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler ट्रांसपोर्ट-विशिष्ट डायग्नोस्टिक चैनलों के माध्यम से आवधिक UDS सर्विस 0x2A के प्रबंधन के लिए एक विशुद्ध वर्चुअल इंटरफ़ेस प्रदान करती है ([SWS_DM_01064])। यह डायग्नोस्टिक्स प्रबंधन को चैनल-विशिष्ट पेलोड और मात्रा सीमाओं को निर्धारित करने के साथ-साथ PeriodicTransmit ([SWS_DM_01067]) के माध्यम से कई UDS संदेशों के व्यवस्थित संचरण की अनुमति देती है। यदि कोई संदेश भेजने में विफल रहता है, तो प्रक्रिया निरस्त कर दी जाती है और स्थिति की सूचना एक पुष्टिकरण फ़ंक्शन के माध्यम से दी जाती है। चूँकि सभी विधियों को गैर-थ्रेड-सुरक्षित के रूप में निर्दिष्ट किया गया है, समवर्ती पहुँच को कॉलर द्वारा सिंक्रनाइज़ किया जाना चाहिए।

संदर्भ

विशुद्ध वर्चुअल क्लास apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler UDS सर्विस 0x2A ([SWS_DM_01064], AUTOSAR_AP_SWS_Diagnostics §C.3.1 “Class: UdsTransportProtocolPeriodicHandler”) के अनुसार डायग्नोस्टिक डेटा के आवधिक पठन का समर्थन करने के लिए मानकीकृत इंटरफ़ेस का प्रतिनिधित्व करती है। AUTOSAR Adaptive Platform के डायग्नोस्टिक्स सिस्टम में, यह उच्च-स्तरीय डायग्नोस्टिक प्रबंधन को ठोस नेटवर्क और ट्रांसपोर्ट प्रोटोकॉल कार्यान्वयन से अलग करती है। जबकि डायग्नोस्टिक प्रबंधन आवधिक प्रसारणों के लिए आने वाले अनुरोधों का मूल्यांकन करता है और संबंधित डेटा पैकेट संकलित करता है, हैंडलर एक ठोस कनेक्शन ([SWS_DM_01067]) पर इन आवधिक संदेशों के वास्तविक संचरण का कार्य संभालता है। कॉलर पक्ष पर डायग्नोस्टिक्स प्रबंधन और संबंधित संचार चैनल, जो एक विशिष्ट ChannelID के माध्यम से पहचाना जाता है, इस प्रक्रिया में इंटरैक्शन भागीदार के रूप में कार्य करते हैं ([SWS_DM_01065], [SWS_DM_01066])।

diag_periodic_kontext diag_server Diagnose-Server (UDS 0x2A) handler UdsTransportProtocolPeriodicHandler diag_server->handler क्षमता क्वेरी और ट्रांसमिशन अनुरोध handler->diag_server PeriodicTransmit Confirmation transport Transportschicht (ChannelID) handler->transport Periodische Nachrichten

संदर्भ आरेख: डायग्नोस्टिक सर्वर और ट्रांसपोर्ट लेयर के बीच UdsTransportProtocolPeriodicHandler का अंतःस्थापन। स्रोत: [SWS_DM_01064], [SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1 “Class: UdsTransportProtocolPeriodicHandler”।

जीवनचक्र

चूँकि UdsTransportProtocolPeriodicHandler को विशुद्ध वर्चुअल विधियों के साथ एक अमूर्त बेस इंटरफ़ेस के रूप में परिभाषित किया गया है, इसे सीधे इंस्टैनशिएट नहीं किया जा सकता है ([SWS_DM_01064])। ठोस हैंडलर इंस्टेंस का निर्माण संभवतः ट्रांसपोर्ट-विशिष्ट ड्राइवर घटकों (उदाहरण के लिए DoIP- या CAN-आधारित प्रोटोकॉल के लिए) द्वारा किया जाता है। प्रश्न Q-d0b3bf3b0c14dcf6 (खुला) इंस्टेंस का जीवनकाल आमतौर पर संबंधित ट्रांसपोर्ट प्रोटोकॉल स्टैक की उपलब्धता से बंधा होता है। संचार स्टैक की समाप्ति पर स्वच्छ बहुरूपी विनाश (polymorphic destruction) के लिए, क्लास एक वर्चुअल डिस्ट्रक्टर ~UdsTransportProtocolPeriodicHandler() प्रदान करती है ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 “Destructor”)।

समवर्तीता (concurrency) के संबंध में, क्लास के सभी सदस्य फ़ंक्शन स्पष्ट रूप से गैर-थ्रेड-सुरक्षित (not thread-safe) के रूप में निर्दिष्ट हैं ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089])। कई थ्रेड्स के माध्यम से समानांतर पहुँच या समान ChannelID पर एक साथ अनुरोधों के मामले में, कॉलर्स को इसलिए स्वतंत्र रूप से एक्सेस को सिंक्रनाइज़ करना होगा।

उपयोग पथ

सर्विस 0x2A के लिए आवधिक संदेश संचरण करने का एक सामान्य क्रम निम्नलिखित चरणों में विभाजित है:

  • अधिकतम पेलोड लंबाई का निर्धारण: एकल आवधिक संचरण के लिए निर्दिष्ट कनेक्शन पर समर्थित अधिकतम पेलोड लंबाई की जांच करने के लिए डायग्नोस्टिक प्रबंधन GetMaxPayloadLength(channelId) को कॉल करता है ([SWS_DM_01066], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.2.1 “GetMaxPayloadLength”)।
  • संदेश क्षमता की क्वेरी: GetNumberOfPeriodicMessages(channelId) के माध्यम से ट्रांसपोर्ट-प्रोटोकॉल- और कनेक्शन-विशिष्ट संभावित आवधिक संदेशों की संख्या का पता लगाया जाता है ([SWS_DM_01065], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.2.2 “GetNumberOfPeriodicMessages”)।
  • आवधिक संचरण का निष्पादन: डायग्नोस्टिक्स प्रबंधन ara::core::Vector<UdsMessageConstPtr> में संदेशों की एक व्यवस्थित सूची मेथड PeriodicTransmit(channelId, messages) ([SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.2.3 “PeriodicTransmit”) को सौंपता है। हैंडलर शामिल संदेशों को पूर्व निर्धारित क्रम में प्रसारित करता है।
  • पुष्टिकरण (Bestätigung): ट्रांसपोर्ट लेयर PeriodicTransmit Confirmation के कॉल के माध्यम से प्रेषण प्रक्रिया (sending process) के परिणाम को संकेतित करती है, जो सफलतापूर्वक प्रेषित संदेशों की संख्या और मूल वेक्टर वापस लौटाता है ([SWS_DM_01067])।
UdsTransportProtocolPeriodicHandler के माध्यम से आवधिक ट्रांसमिशनDiagnose-Server (0x2A)UdsTransportProtocolPeriodicHandlerTransportschicht / KanalUse Case: Kanalparameter ermittelnGetMaxPayloadLength(channelId)maxPayloadLengthGetNumberOfPeriodicMessages(channelId)numberOfPeriodicMessagesUse Case: Periodischer SendevorgangPeriodicTransmit(channelId, messages)loopmessages में प्रत्येक संदेश के लिएसंदेश प्रेषित करेंaltट्रांसमिशन त्रुटि उत्पन्न हुईSendeprozess stoppenPeriodicTransmit Confirmation(anzahlGesendet, messages)सभी संदेश सफलPeriodicTransmit Confirmation(gesamtAnzahl, messages)

अनुक्रम आरेख (Sequence diagram): क्षमता क्वेरी, आवधिक प्रेषण (periodic sending) और पुष्टिकरण का विशिष्ट अनुक्रम। स्रोत: [SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067]।

त्रुटि परिदृश्य

PeriodicTransmit के निष्पादन के दौरान, सूची के सभी संदेश क्रमवार प्रेषित किए जाते हैं। यदि किसी एकल संदेश का संचरण विफल हो जाता है, तो संपूर्ण प्रेषण प्रक्रिया तुरंत रद्द कर दी जाती है ([SWS_DM_01067])। इस स्थिति में सूची के आगामी संदेश अब नहीं भेजे जाते हैं। त्रुटि निदान और डायग्नोस्टिक प्रबंधन की जानकारी के लिए फिर भी पुष्टिकरण कॉल PeriodicTransmit Confirmation ट्रिगर किया जाता है। इसमें निरस्तीकरण तक सफलतापूर्वक प्रेषित संदेशों की संख्या के साथ-साथ UDS संदेशों वाला अपरिवर्तित पूर्ण वेक्टर शामिल होता है ([SWS_DM_01067])। इससे डायग्नोस्टिक प्रबंधन सटीक रूप से समझ सकता है कि किस संदेश ने त्रुटि उत्पन्न की थी।

समस्त इंटरफ़ेस विधियाँ noexcept और अपवाद-सुरक्षित (exception safe) के रूप में निर्दिष्ट हैं ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089])। संचरण के दौरान त्रुटि स्थितियाँ C++ अपवादों (exceptions) का कारण नहीं बनती हैं, बल्कि निर्धारित पुष्टिकरण तंत्र के माध्यम से नियतात्मक रूप से (deterministically) रिपोर्ट की जाती हैं।

यह क्लास गाइड AUTOSAR Adaptive Platform रिलीज़ R25-11 के विनिर्देश पर आधारित है और स्वचालित रूप से जनरेट किया गया था।

सदस्य मानचित्र

कंस्ट्रक्टर और डिस्ट्रक्टर

1

क्लास आरेख

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

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

विवरण दृश्य

रूपरेखा में कोई प्रविष्टि चुनें।

कंस्ट्रक्टर और डिस्ट्रक्टर

Destructor.

मेथड

GetMaxPayloadLength फ़ंक्शन

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

virtual std::size_t GetMaxPayloadLength (ChannelID channelId) const noexcept=0;
GetNumberOfPeriodicMessages फ़ंक्शन

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

virtual std::size_t GetNumberOfPeriodicMessages (ChannelID channelId) const noexcept=0;
PeriodicTransmit फ़ंक्शन

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;

मेथड का प्रलेखन

फ़ंक्शन 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#a273f805
Content hash
a273f805
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

फ़ंक्शन 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#8a13099e
Content hash
8a13099e
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

फ़ंक्शन 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.

एआई-जनित असत्यापित मॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: ceb97c8b447f उद्गम
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल

इंटरफ़ेस apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler की शुद्ध वर्चुअल विधि PeriodicTransmit मौजूदा ट्रांसपोर्ट कनेक्शन पर आवधिक UDS संदेशों को बंडल किए गए रूप में भेजने के लिए कार्य करती है [SWS_DM_01067]। इसे आमतौर पर Diagnostic Management (DM) द्वारा ISO 14229-1 के अनुसार शेड्यूलर प्रकार 1 के आवधिक ट्रांसमिशन के संदर्भ में कॉल किया जाता है, जिसमें कॉन्फ़िगर किए गए आवधिक DIDs (PDIDs) चक्रीय रूप से ट्रिगर होते हैं AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission [SWS_DM_01060]।

पैरामीटर और सिमेंटिक्स

  • channelId: उस विशिष्ट संचार चैनल का पहचानकर्ता जिसके माध्यम से ट्रांसमिशन होता है [SWS_DM_01067]।
  • messages: एक के बाद एक तुरंत प्रेषित किए जाने वाले सभी संदेशों की क्रमबद्ध सूची (ara::core::Vector<UdsMessageConstPtr>) [SWS_DM_01067]।

फ़ंक्शन कोई रिटर्न मान नहीं देता है और noexcept के रूप में घोषित अपवाद सुरक्षा की गारंटी देता है [SWS_DM_01067]। संदेशों को सख्ती से पास किए गए क्रम में संसाधित किया जाता है।

त्रुटि हैंडलिंग और पावती

यदि किसी एकल संदेश को भेजना विफल हो जाता है, तो पूरी भेजने की प्रक्रिया तुरंत निरस्त हो जाती है [SWS_DM_01067]। परिणाम की रिपोर्ट करने के लिए, UdsTransportProtocolMgr के पुष्टिकरण फ़ंक्शन PeriodicTransmitConfirmation को कॉल किया जाता है [SWS_DM_01069]। यह कॉलबैक सफलतापूर्वक प्रेषित संदेशों की संख्या के साथ-साथ उसी मूल संदेश वेक्टर को पास करता है [SWS_DM_01067]।

संगामिति

विधि को not thread-safe के रूप में निर्दिष्ट किया गया है [SWS_DM_01067]। समान इंस्टेंस पर समानांतर कॉल को कॉलर पक्ष पर सिंक्रनाइज़ किया जाना चाहिए।

यह पाठ विनिर्देश AUTOSAR Adaptive R25-11 के आधार पर एक AI द्वारा उत्पन्न किया गया था।

इम्प्लीमेंटर गाइड जल्द आएगी (जटिलता 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#e6de29b0
Content hash
e6de29b0
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

फ़ंक्शन ~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#2eb0e88b
Content hash
2eb0e88b
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