Enables the periodic transmission of UDS diagnostic messages to support service 0x2A.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: fabfa1b95261ProvenanceOpen questions (3)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
Enables the periodic transmission of UDS diagnostic messages to support service 0x2A.
The class apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler provides a pure virtual interface for handling the periodic UDS service 0x2A via transport-specific diagnostic channels ([SWS_DM_01064]). It allows diagnostic management to determine channel-specific payload and quantity limits as well as the ordered transmission of multiple UDS messages by means of PeriodicTransmit ([SWS_DM_01067]). If sending a message fails, the operation is aborted and the state is reported via a confirmation function. Since all methods are specified as not thread-safe, concurrent accesses must be synchronized by the caller.
Context
The pure virtual class apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler represents the standardized interface for supporting the periodic readout of diagnostic data according to the UDS service 0x2A ([SWS_DM_01064], AUTOSAR_AP_SWS_Diagnostics §C.3.1 “Class: UdsTransportProtocolPeriodicHandler”). In the diagnostic system of the AUTOSAR Adaptive Platform, it decouples the higher-level diagnostic management from the concrete network and transport protocol implementation. While the diagnostic management evaluates incoming requests for periodic transmissions and assembles corresponding data packets, the handler takes over the actual transmission of these periodic messages via a concrete connection ([SWS_DM_01067]). Interaction partners here are the diagnostic management on the caller side and the respective communication channel, which is identified via a unique ChannelID ([SWS_DM_01065], [SWS_DM_01066]).
Since UdsTransportProtocolPeriodicHandler is defined as an abstract base interface with pure virtual methods, it cannot be instantiated directly ([SWS_DM_01064]). The creation of concrete handler instances is presumably performed by transport-specific driver components (for example, for DoIP- or CAN-based protocols). Question Q-d0b3bf3b0c14dcf6 (open) The lifecycle of the instance is typically tied to the availability of the respective transport protocol stack. For clean polymorphic destruction upon termination of the communication stack, the class provides a virtual destructor ~UdsTransportProtocolPeriodicHandler() ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 “Destructor”).
Regarding concurrency, all member functions of the class are explicitly designated as not thread-safe (not thread-safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). In the case of parallel access via multiple threads or concurrent requests via the same ChannelID, callers must therefore synchronize accesses on their own responsibility.
Usage Path
A typical sequence for performing periodic message transmissions for service 0x2A is divided into the following steps:
Execution of the periodic transmission: Diagnostic management passes an ordered list of messages in a ara::core::Vector<UdsMessageConstPtr> to the method PeriodicTransmit(channelId, messages) ([SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.2.3 “PeriodicTransmit”). The handler transmits the contained messages in the specified order.
Confirmation: The transport layer signals the result of the transmission process via the call to PeriodicTransmit Confirmation, which returns the number of successfully transmitted messages and the original vector ([SWS_DM_01067]).
During the execution of PeriodicTransmit, all messages in the list are transmitted sequentially. If the transmission of an individual message fails, the entire sending process is aborted immediately ([SWS_DM_01067]). In this case, subsequent messages in the list are no longer sent. For fault diagnosis and informing diagnostic management, the confirmation call PeriodicTransmit Confirmation is triggered nonetheless. This call contains the number of messages successfully transmitted up to the abort as well as the complete vector of UDS messages unchanged ([SWS_DM_01067]). This allows diagnostic management to trace exactly which message caused the error.
All interface methods are specified as noexcept and exception-safe (exception safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Error states during transmission do not lead to C++ exceptions, but are reported deterministically via the intended confirmation mechanism.
This class guide is based on the specification AUTOSAR Adaptive Platform Release R25-11 and was generated automatically.
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.
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.
AI-GENERATEDunreviewedModel: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: ceb97c8b447fProvenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original
The pure virtual method PeriodicTransmit of interface apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler serves for bundled transmission of periodic UDS messages via an existing transport connection [SWS_DM_01067]. It is typically called by Diagnostic Management (DM) in the context of periodic transmission according to scheduler type 1 pursuant to ISO 14229-1, in which configured periodic DIDs (PDIDs) are triggered cyclically AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission[SWS_DM_01060].
Parameters and Semantics
channelId: Identifier of the concrete communication channel over which transmission takes place [SWS_DM_01067].
messages: Ordered list (ara::core::Vector<UdsMessageConstPtr>) of all messages to be transmitted immediately one after another [SWS_DM_01067].
The function returns no value and guarantees exception safety declared as noexcept[SWS_DM_01067]. The messages are processed strictly in the passed order.
Error handling and confirmation
If sending an individual message fails, the entire sending process aborts immediately [SWS_DM_01067]. To report the result, the confirmation function PeriodicTransmitConfirmation of UdsTransportProtocolMgr is called [SWS_DM_01069]. This callback passes the number of successfully transmitted messages as well as the same original message vector [SWS_DM_01067].
Concurrency
The method is specified as not thread-safe[SWS_DM_01067]. Concurrent calls on the same instance must be synchronized on the caller side.
This text was generated by an AI based on the AUTOSAR Adaptive R25-11 specification.
gemini-3.8-flash-low· 2026-10-13 · German original