DEENESPTFRRUARHIKOZHNL

class apext::diag::uds_transport::UdsTransportProtocolMgr

[SWS_DM_00306] Upstream: RS_Diag_04147, RS_Diag_04168

class UdsTransportProtocolMgr {...};

The UdsTransportProtocolMgr class manages the interaction between the Diagnostic Server instance(s) and various UDS Transport Protocols (e.g., DoIP[2], CAN[21]). It provides a standard, extensible API for handling transport-specific message reception and optional early payload access.

Literaturverzeichnis SWS Diagnostics: [2] ISO 13400-2:2019 – Road vehicles – Diagnostic communication over Internet Protocol (DoIP) – Part 2: Network and transport layer requirements and services (Edition 2, Release 2019-12) – www.iso.org
[21] ISO 15765-2 – Road vehicles – Diagnostics on Controller Area Networks (CAN) – Part2: Network layer services

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

User GuideAI-GENERATED

Coordinates UDS message exchange between transport layer plugins and the session layer of the Diagnostic Server.
AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: d6f6643e28ac Provenance Open questions (2)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Coordinates UDS message exchange between transport layer plugins and the session layer of the Diagnostic Server.

The class apext::diag::uds_transport::UdsTransportProtocolMgr manages the interaction between the Diagnostic Server and specific UDS transport protocols according to AUTOSAR AP SWS Diagnostics §7.1.1 “Support of UDS Transport Layer”. It controls two-stage message reception via advance indication and asynchronous forwarding to the session layer, as well as the feedback of transmission and lifecycle events ([SWS_DM_00309], [SWS_DM_00311]). All interface calls are designed to be exception-safe, but not thread-safe.

Context

The class apext::diag::uds_transport::UdsTransportProtocolMgr acts as a central intermediary between the instances of the Diagnostic Server or the DM core (session layer) and various UDS transport protocols such as DoIP or CAN according to AUTOSAR AP SWS Diagnostics §7.1.1 “Support of UDS Transport Layer”. It provides an extensible interface through which implementation-specific transport plugins deriving the base class UdsTransportProtocolHandler ([SWS_DM_00315]) report incoming UDS messages and forward transport confirmations to the diagnostic core. Interpretation: The instance of the manager is likely operated by Diagnostic Management as a long-lived mediator component to bundle heterogeneous transport interfaces uniformly. Question Q-79e155960156d04a (open)

MgrKontext SessionLayer Session Layer (DM Core) Mgr UdsTransportProtocolMgr Mgr->SessionLayer T_Data.ind Handler UdsTransportProtocolHandler Handler->Mgr IndicateMessage / HandleMessage Handler->Mgr TransmitConfirmation Handler->Mgr HandlerStopped / ChannelReestablished PeriodicHandler UdsTransportProtocolPeriodicHandler PeriodicHandler->Mgr PeriodicTransmitConfirmation

Context diagram: Embedding of UdsTransportProtocolMgr between transport layer handlers and the session layer. Sources: [SWS_DM_00309], [SWS_DM_00311], [SWS_DM_00312], [SWS_DM_01069], AUTOSAR AP SWS Diagnostics §7.1.1 “Support of UDS Transport Layer”.

Lifecycle

Destruction takes place via the virtual destructor ~UdsTransportProtocolMgr(), which is specified with noexcept = default ([SWS_DM_01524]). During operation, the manager reacts to lifecycle events of the registered transport protocol handlers according to AUTOSAR AP SWS Diagnostics §7.1.1.1 “Initialization, Starting and Stopping of a UDS TransportLayer” and [SWS_DM_00329]: If a handler is shut down, it reports completion via HandlerStopped() ([SWS_DM_00314]) back to the manager. If a previously disconnected channel becomes available again, this is communicated to the manager after prior activation via ChannelReestablished(), specifying the GlobalChannelIdentifier ([SWS_DM_00313], [SWS_DM_09021]).

Regarding ownership, strict buffer transfer using unique-pointer semantics applies during message processing: Upon announcement of a message, the diagnostic core creates the object UdsMessagePtr and temporarily passes it to the handler for filling ([SWS_DM_00309]). After successful reception or in the event of a transmission abort, ownership of the message is returned entirely to the generic DM core ([SWS_DM_00310], [SWS_DM_00311]). All callback methods of the interface are classified as exception-safe (noexcept), but explicitly as not thread-safe ([SWS_DM_00309], [SWS_DM_00311]).

Usage Path

The regular sequence of UDS message reception is divided into two consecutive phases. First, the transport handler signals the start of a message via IndicateMessage() ([SWS_DM_00309]). Here, source and target address, addressing type (physical or functional), channel ID, total size, and a byte view of the initial payload data (payloadInfo) are passed. This advance information allows the diagnostic core to evaluate requests early, for example to recognize a functional Tester Present ([SWS_DM_00309]). If the core accepts the request, the manager returns the pair consisting of IndicationResult::kIndicationOk and the message buffer to be filled.

As soon as the transport handler has received the complete message, it forwards it via HandleMessage() to the session layer ([SWS_DM_00311]). This corresponds to the primitive T_Data.ind from ISO 14229-2. Interpretation: The required immediate return of HandleMessage() is likely implemented by handing it over to an internal queue of the session layer, since the actual processing must occur asynchronously in the background ([SWS_DM_00311]). Question Q-b6e97504ca3a3a95 (open) The handler confirms outgoing transmissions after completion via TransmitConfirmation() ([SWS_DM_00312]), whereas periodic messages are acknowledged via PeriodicTransmitConfirmation() ([SWS_DM_01069]).

Sequence of UDS message receptionUdsTransportProtocolHandlerUdsTransportProtocolMgrSession LayerUse Case: Message announcementIndicateMessage(sourceAddr, targetAddr, type, channel, size, payloadInfo)Puffer anfordern & Validierungstd::pair(kIndicationOk, messagePtr)std::pair(kIndicationOk, messagePtr)Use Case: Data reception and handoverNutzdaten in message schreibenHandleMessage(messagePtr)T_Data.ind(messagePtr)Immediate return (asynchronous)Return

Sequence diagram: Typical sequence of UDS message reception via IndicateMessage and HandleMessage. Sources: [SWS_DM_00309], [SWS_DM_00311].

Error Scenarios

If the DM core cannot accept an announced message, IndicateMessage() already fails. For this, the enumeration IndicationResult defines the error causes kIndicationOccupied (channel busy), kIndicationOverflow (buffer overflow), or kIndicationUnknownTargetAddress (unknown target address), whereupon no message buffer is provided ([SWS_DM_00309], [SWS_DM_00384]).

If an error occurs on the transport layer level during ongoing transmission after a successful indication, such that no HandleMessage() takes place anymore, the handler must mandatory call NotifyMessageFailure() ([SWS_DM_00310]). As a result, the previously allocated message buffer is returned to the session layer in a controlled manner and released. For transmit operations, TransmitConfirmation() reports the result via TransmissionResult; if sending fails on the network level, kTransmitFailed is transmitted ([SWS_DM_00307], [SWS_DM_00312]).

This guide relies exclusively on the AUTOSAR specification for R25-11.

Member map

KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.

Class diagram

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

G napext__diag__uds_transport__UdsTransportProtocolMgr247 UdsTransportProtocolMgr + ~UdsTransportProtocolMgr() + ChannelReestablished() + HandleMessage() + HandlerStopped() + IndicateMessage() + NotifyMessageFailure() + PeriodicTransmitConfirmation() + TransmitConfirmation()

Detail view

Select an entry in the outline.

Objektlebenszyklus

Destructor of class UdsTransportProtocolMgr.

virtual ~UdsTransportProtocolMgr () noexcept=default;

Nachrichtenempfang

HandleMessage function

Hands over a valid received UDS message (currently this is only a request type) from the Transport Layer to the Session Layer. This corresponds to T_Data.ind of Figure 2 from ISO 14229-2[25]. The behavior is asynchronously, i.e. the UDS Message is handed over to the Session Layer and it is expected, that it "instantly" returns, which means, that real processing of the message shall be done asynchronously by the Transport Layer!

virtual void HandleMessage (UdsMessagePtr message) noexcept=0;

Indicates a message start. This is an interface, which is just served/called by UdsTransportProtocolHandlers, which return TRUE from UdsTransportProtocolHandlers::isStartOfMessageIndicationSupported().

virtual std::pair< IndicationResult, UdsMessagePtr > IndicateMessage ( UdsMessage::Address sourceAddr, UdsMessage::Address targetAddr, Uds Message::TargetAddressType type, GlobalChannelIdentifier globalChannel Id, std::size_t size, ara::core::Span< const std::uint8_t > payload Info) noexcept=0;
IndicationResult enumeration

Allowed return values from the DM Server to the Transport Protocol Handler Instance for the received IndicateMessage.

enum class IndicationResult : std::uint8_t {...};

Fehlerbehandlung

Indicates, that the message indicated via IndicateMessage() has failure and will not lead to a final HandleMessage() call.

virtual void NotifyMessageFailure (UdsMessagePtr message) noexcept=0;

Sendebestätigung

Confirmation of sent messages and number.

virtual void PeriodicTransmitConfirmation (ara::core::Vector< Uds MessageConstPtr > messages, std::size_t numberOfSentMessages) noexcept=0;

Notification about the outcome of a transmit request called by core DM at the handler via Uds TransportProtocolHandler::Transmit(). This transmit API covers T_Data.con of ISO 14229-2[25] Figure 2.

virtual void TransmitConfirmation (UdsMessageConstPtr message, TransmissionResult result) noexcept=0;
TransmissionResult enumeration

Values denoting the Transmission Confirmation Result provided by the Transport Protocol Handler Instance to the DM Server.

enum class TransmissionResult : std::uint8_t {...};

Kanal- und Handlersteuerung

Notification call from the given transport protocol channel, that it has been reestablished since the last (Re)Start from the UdsTransportProtocolHandler to which this channel belongs. To activate this notification a previous call to UdsTransportProtocolHandler::Notify Reestablishment() has to be done. See further documentation at UdsTransport ProtocolHandler::NotifyReestablishment().

virtual void ChannelReestablished (GlobalChannelIdentifier global ChannelId) noexcept=0;

Notification call from handler, that it has stopped now (e.g. closed down network connections, freed resources, etc...) This callback is expected as a reaction from handler to a call to UdsTransportProtocol Handler::Stop().

virtual void HandlerStopped (UdsTransportProtocolHandlerID handlerId) noexcept=0;

Type of tuple to pack UdsTransportProtocolHandlerID and ChannelID together, to form a global unique (among all used UdsTransportProtocolHandlers within DM) identifier of a Uds TransportProtocol channel.

using GlobalChannelIdentifier = std::tuple<UdsTransportProtocolHandler ID, ChannelID>;

Method documentation

function ChannelReestablished [SWS_DM_00313] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00122, RS_Diag_04147, RS_Diag_04168

virtual void ChannelReestablished (GlobalChannelIdentifier global ChannelId) noexcept=0;

Notification call from the given transport protocol channel, that it has been reestablished since the last (Re)Start from the UdsTransportProtocolHandler to which this channel belongs. To activate this notification a previous call to UdsTransportProtocolHandler::Notify Reestablishment() has to be done. See further documentation at UdsTransport ProtocolHandler::NotifyReestablishment().

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 0a7e82ca2c53 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The method ChannelReestablished of class apext::diag::uds_transport::UdsTransportProtocolMgr serves as feedback from a UDS transport protocol implementation to Diagnostic Management (DM) that a communication channel is available again after a (re-)start [SWS_DM_00313]. The transport protocol implementation calls this method exactly once as soon as the re-availability of the network channel represented by ChannelID is detected [SWS_DM_00358]. As a parameter, globalChannelId is passed, consisting of the tuple of own handlerIdent and the ChannelID [SWS_DM_00358].

Interaction and Lifecycle

A prerequisite for the notification is a preceding call of NotifyReestablishment [SWS_DM_00313], [SWS_DM_00356]. A typical use case is performing an ECU reset (UDS service 0x11) with the option of a positive response after the restart [SWS_DM_00326]. In order to ensure notification even after a restart of the DM, the notification request must be persistently stored by the transport protocol [SWS_DM_00359].

Error Handling and Concurrency

The function has no return value and is specified as noexcept (exception safe) [SWS_DM_00313]. Since the interface is classified as not thread-safe (not thread-safe) [SWS_DM_00313], calling handlers might have to synchronize access externally. Question Q-aaf14893457cceb6 (open) As a timing constraint, the DM may process the call to ChannelReestablished only after the call to UdsTransportProtocolHandler::Start [SWS_DM_01744].

This text was automatically generated by an AI based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
globalChannelIdtransport protocol channel, which is available again.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00313
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00313@rel:R25-11#dacc8bb2
Content hash
dacc8bb2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00313
Status: valid/unmigrated Version: rel:R25-11#4c5b70ac Versionshistorie & Revisions (1 transition, 8 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_00313@rel:R25-11#4c5b70ac
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#dacc8bb22026-09-30
  • R19-11rel:R19-11#acd4155f2026-10-14
  • R20-11rel:R20-11#9235fd502026-10-14
  • R21-11rel:R21-11#b392eb2d2026-10-14
  • R22-11rel:R22-11#b01162a42026-10-14
  • R23-11rel:R23-11#f88cee172026-10-14
  • R24-11rel:R24-11#867edbc12026-10-14
  • R25-11rel:R25-11#4c5b70ac2026-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

function HandleMessage [SWS_DM_00311] Upstream: RS_Diag_04147, RS_Diag_04168

virtual void HandleMessage (UdsMessagePtr message) noexcept=0;

Hands over a valid received UDS message (currently this is only a request type) from the Transport Layer to the Session Layer. This corresponds to T_Data.ind of Figure 2 from ISO 14229-2[25]. The behavior is asynchronously, i.e. the UDS Message is handed over to the Session Layer and it is expected, that it "instantly" returns, which means, that real processing of the message shall be done asynchronously by the Transport Layer!

Literaturverzeichnis SWS Diagnostics: [25] ISO 14229-2(2021) – Unified diagnostic services (UDS) - Part 2: Session layer services (Release 2021-10) – www.iso.org

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: eea0d4e77276 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

Method HandleMessage serves to hand over a completely received, valid UDS request message from the transport layer to the session layer of Diagnostic Management ([SWS_DM_00311]). This corresponds to service T_Data.ind according to ISO 14229-2 ([SWS_DM_00311], AUTOSAR_AP_SWS_Diagnostics §C.2.1.2.2.2 “HandleMessage”).

Call and Parameters

As soon as the transport protocol implementation has filled the payload of the buffer previously requested via IndicateMessage ([SWS_DM_00388]), it calls HandleMessage on the instance of apext::diag::uds_transport::UdsTransportProtocolMgr ([SWS_DM_00345]). message of type UdsMessagePtr is passed as an argument. Through the std::unique_ptr semantics, ownership of the UDS message is returned to the generic DM core ([SWS_DM_00311]). The function returns no value.

Semantics, Concurrency, and Error Handling

  • Asynchrony: The call must return immediately ("instantly returns") ([SWS_DM_00311]). Interpretation: The actual processing of the diagnostic request is likely continued asynchronously in a separate execution context in the DM core. Question Q-b8dd1a5f3d2dcdf0 (open)
  • Error case: The method is declared as noexcept and exception-safe ([SWS_DM_00311]). If reception or filling of the message fails, no call to HandleMessage must occur; instead, the error must be reported via NotifyMessageFailure ([SWS_DM_00310]).
  • Thread safety: The operation is specified as not thread-safe ([SWS_DM_00311]). Callers must synchronize parallel accesses to the same instance.

Interaction

The interface belongs to the transport protocol layer and is to be distinguished from the application-side service processing method ara::diag::GenericUDSService::HandleMessage ([SWS_DM_00618]).

This text was generated automatically. All statements are based exclusively on specification status R25-11.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
messageThe UDS message ptr (unique_ptr semantics) with the request. Ownership of the UDS Message is given back to the generic DM core here.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00311
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00311@rel:R25-11#1d9aefcf
Content hash
1d9aefcf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00311
Status: valid/unmigrated Version: rel:R25-11#25c5615f Versionshistorie & Revisions (1 transition, 8 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_00311@rel:R25-11#25c5615f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1d9aefcf2026-09-30
  • R19-11rel:R19-11#cb8d6db52026-10-14
  • R20-11rel:R20-11#307c47612026-10-14
  • R21-11rel:R21-11#307c47612026-10-14
  • R22-11rel:R22-11#fd0648c82026-10-14
  • R23-11rel:R23-11#4d3583a52026-10-14
  • R24-11rel:R24-11#779e87e62026-10-14
  • R25-11rel:R25-11#25c5615f2026-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

function HandlerStopped [SWS_DM_00314] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00122, RS_Diag_04147, RS_Diag_04168

virtual void HandlerStopped (UdsTransportProtocolHandlerID handlerId) noexcept=0;

Notification call from handler, that it has stopped now (e.g. closed down network connections, freed resources, etc...) This callback is expected as a reaction from handler to a call to UdsTransportProtocol Handler::Stop().

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 265cc47567e6 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The pure virtual callback method HandlerStopped of the management interface apext::diag::uds_transport::UdsTransportProtocolMgr serves as feedback from a UDS transport plugin to the Diagnostic Manager (DM) that its execution has ended and all associated resources as well as network connections have been fully released [SWS_DM_00314]. This call is expected as a mandatory reaction of the handler to a previous call to UdsTransportProtocolHandler::Stop() [SWS_DM_00314], [SWS_DM_00323].

Call context and parameters: The affected plugin identifies itself upon the call via the input parameter handlerId of type UdsTransportProtocolHandlerID [SWS_DM_00314]. The method has no return value (void) and ensures complete exception safety (exception safe) through its specification as noexcept [SWS_DM_00314]. Specific error codes, error reactions, or notifications to DET or DEM are not defined for this interface.

Sequence and restrictions: If the Diagnostic Manager transitions to the state ApplicationState.kTerminating during shutdown, it first calls Stop() on each started UDS transport protocol implementation [SWS_DM_00333]. After returning from Stop(), a strict calling prohibition applies: The handler plugin must no longer call any other methods on UdsTransportProtocolMgr, with the exception of HandlerStopped [SWS_DM_01741], [SWS_DM_00323]. Before the final termination of the DM process, it waits for the arrival of the respective HandlerStopped callback with the matching handlerId [SWS_DM_00340]. The interface is designated as not thread-safe (not thread-safe) [SWS_DM_00314]. Interpretation: Since the DM waits separately for the arrival of the callback, the actual termination of the network connections in the plugin is likely to take place asynchronously to the return of the Stop() method. Question Q-40829d46bd661337 (open)

This usage note was automatically created based on AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
handlerIdindication, which plugin stopped.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00314
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00314@rel:R25-11#8489c37a
Content hash
8489c37a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00314
Status: valid/unmigrated Version: rel:R25-11#0cc2f185 Versionshistorie & Revisions (1 transition, 8 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_00314@rel:R25-11#0cc2f185
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8489c37a2026-09-30
  • R19-11rel:R19-11#4212b1402026-10-14
  • R20-11rel:R20-11#f5d072332026-10-14
  • R21-11rel:R21-11#d2e1ff562026-10-14
  • R22-11rel:R22-11#0b5685c52026-10-14
  • R23-11rel:R23-11#43fb4c882026-10-14
  • R24-11rel:R24-11#33d1abec2026-10-14
  • R25-11rel:R25-11#0cc2f1852026-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

function IndicateMessage [SWS_DM_00309] Upstream: RS_AP_00120, RS_AP_00121, RS_AP_00122, RS_Diag_04147, RS_Diag_04168

virtual std::pair< IndicationResult, UdsMessagePtr > IndicateMessage ( UdsMessage::Address sourceAddr, UdsMessage::Address targetAddr, Uds Message::TargetAddressType type, GlobalChannelIdentifier globalChannel Id, std::size_t size, ara::core::Span< const std::uint8_t > payload Info) noexcept=0;

Indicates a message start. This is an interface, which is just served/called by UdsTransportProtocolHandlers, which return TRUE from UdsTransportProtocolHandlers::isStartOfMessageIndicationSupported().

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 892a371d0de7 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

The method IndicateMessage [SWS_DM_00309] of the class apext::diag::uds_transport::UdsTransportProtocolMgr is called synchronously by a UdsTransportProtocolHandler when the start of reception of a UDS message is to be signaled and the handler supports this. The caller passes the source and target address (sourceAddr, targetAddr), the addressing type type (physical or functional), the channel ID globalChannelId, the expected total size size, and optionally a byte view of payload data already received (payloadInfo). Providing at least two bytes in payloadInfo is recommended so that the Diagnostic Management Core can recognize functional requests such as Tester-Present (bypass logic) even during ongoing processing AUTOSAR_AP_SWS_Diagnostics §7.1 “UDS Transport Layer”.

As a return value, the synchronous and exception-safe call returns a std::pair of IndicationResult [SWS_DM_00384] and a UdsMessagePtr [SWS_DM_00309]:

  • Acceptance: If the message can be processed, the DM Core returns IndicationResult::kIndicationOk together with a valid UdsMessagePtr whose minimum capacity is at least one byte [SWS_DM_00385].
  • Rejection and error cases: If the DM is busy, it responds with kIndicationOccupied and nullptr [SWS_DM_00386]. If the target address is invalid, kIndicationUnknownTargetAddress is returned with a null pointer. Further defined status values are kIndicationOverflow [SWS_DM_00384].

Regarding concurrency and lifetime, the method is specified as not thread-safe (not thread-safe) [SWS_DM_00309]; calls must therefore be synchronized accordingly. The view passed via payloadInfo is transient and may be used exclusively within this function call [SWS_DM_00309].

In the further course of events, upon return of kIndicationOk, the transport layer fills the provided buffer via GetPayload [SWS_DM_00301] up to the capacity limit or full message length [SWS_DM_00388]. After successful filling, HandleMessage is called [SWS_DM_00345]. If message reception fails prematurely, the handler must return the buffer to the DM via NotifyMessageFailure [SWS_DM_00310].

This text was generated by an AI and serves as guidance.

Implementer's Guide to follow (complexity I3)

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

Parameter (in)

ParameterBeschreibung
sourceAddrUDS source address of the message.
targetAddrUDS target address of the message.
typeIndication whether the request is kPhysical or kFunctional addressed.
globalChannelIdTransport Protocol Channel on which the message start happened.
sizeSize in bytes of the UdsMessage starting from SID.
payloadInfoView onto the first received payload bytes, if any. This view shall be used only within this function call. It is recommended that the Transport Protocol provides at least the first two bytes of the request message, so the DM can identify a functional Tester Present. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.

Rückgabewert

TypBeschreibung
std::pair< IndicationResult, UdsMessagePtr>Pair of IndicationResult and a pointer to UDS Message owned/created by DM core and returned to the handler to get filled.

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

Record
AUTOSAR/AP/record/SWS_DM_00309
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00309@rel:R25-11#04055a8d
Content hash
04055a8d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00309
Status: valid/unmigrated Version: rel:R25-11#38e7de31 Versionshistorie & Revisions (1 transition, 8 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_00309@rel:R25-11#38e7de31
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#04055a8d2026-09-30
  • R19-11rel:R19-11#bfb192392026-10-14
  • R20-11rel:R20-11#8e14a6b72026-10-14
  • R21-11rel:R21-11#66a0b1c12026-10-14
  • R22-11rel:R22-11#2f212c252026-10-14
  • R23-11rel:R23-11#1d9e17452026-10-14
  • R24-11rel:R24-11#674af7dd2026-10-14
  • R25-11rel:R25-11#38e7de312026-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

function NotifyMessageFailure [SWS_DM_00310] Upstream: RS_Diag_04147, RS_Diag_04168

virtual void NotifyMessageFailure (UdsMessagePtr message) noexcept=0;

Indicates, that the message indicated via IndicateMessage() has failure and will not lead to a final HandleMessage() call.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 1ed3e3a2e8d6 Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method NotifyMessageFailure is provided via header apext/diag/uds_transport/protocol_mgr.h in the interface apext::diag::uds_transport::UdsTransportProtocolMgr [SWS_DM_00310]. It serves for the transport protocol implementation to indicate to Diagnostic Management that a message previously signaled via IndicateMessage() has failed and no final call to HandleMessage() [SWS_DM_00345] will occur anymore [SWS_DM_00310]. The pointer message of type UdsMessagePtr is passed as a parameter, whereby the affected message is returned to the session layer [SWS_DM_00310]. A return value does not exist (void).

Error Handling and Concurrency

The function is declared as noexcept and exception safe [SWS_DM_00310]. It throws no exceptions and reports transmission cancellations purely via the parameter interface. Regarding concurrency, the method is classified as not thread-safe (not thread-safe) [SWS_DM_00310]. Interpretation: Callers might have to ensure external synchronization in case of parallel processing at the transport protocol layer. Question Q-8d9b3a3561b9b6ac (open)

Interaction and Sequence

In regular operation, after a successful IndicateMessage(), the transport protocol fills the payload of the UdsMessage [SWS_DM_00388] and forwards it to Diagnostic Management via HandleMessage() [SWS_DM_00345]. However, if the transmission fails—for example, in case of errors during reception of a multi-frame request—NotifyMessageFailure is called instead [SWS_DM_00310]. This prevents subsequent processing calls and affects session management: While the S3Server timer is stopped at the start of reception [SWS_DM_00383], a reception error of a multi-frame message causes the S3Server timer to be reset and start counting again from the beginning (SWS Diagnostics §7.3.2.7 “Session handling” / [SWS_DM_00310]).

This usage note was generated by an AI based on the AUTOSAR specification R25-11.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
messagePointer to the UDS Message handed back over to the Session Layer.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00310
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00310@rel:R25-11#e7beffc2
Content hash
e7beffc2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00310
Status: valid/unmigrated Version: rel:R25-11#533ed88a Versionshistorie & Revisions (1 transition, 8 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_00310@rel:R25-11#533ed88a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e7beffc22026-09-30
  • R19-11rel:R19-11#bf0753592026-10-14
  • R20-11rel:R20-11#126bf37a2026-10-14
  • R21-11rel:R21-11#da1ddcf72026-10-14
  • R22-11rel:R22-11#f198f39e2026-10-14
  • R23-11rel:R23-11#501c9dff2026-10-14
  • R24-11rel:R24-11#c8c1a8962026-10-14
  • R25-11rel:R25-11#533ed88a2026-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

function PeriodicTransmitConfirmation [SWS_DM_01069] Upstream: RS_Diag_04215

virtual void PeriodicTransmitConfirmation (ara::core::Vector< Uds MessageConstPtr > messages, std::size_t numberOfSentMessages) noexcept=0;

Confirmation of sent messages and number.

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: 001a65962260 Provenance
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method PeriodicTransmitConfirmation is part of class apext::diag::uds_transport::UdsTransportProtocolMgr and is declared via header file apext/diag/uds_transport/protocol_mgr.h [SWS_DM_01069]. It serves to acknowledge sent periodic diagnostic messages and to transmit the number of successfully sent messages AUTOSAR_AP_SWS_Diagnostics §C.2.1.2.2.6 “PeriodicTransmitConfirmation”.

When called, two input parameters are passed, while the method returns no return value:

  • messages (ara::core::Vector<UdsMessageConstPtr>): The same ordered list of messages that was previously passed to method UdsTransportProtocolPeriodicHandler::PeriodicTransmit() [SWS_DM_01069].
  • numberOfSentMessages (std::size_t): The number of messages successfully transferred from list messages [SWS_DM_01069].

Error Handling and Exception Safety

With regard to exception safety, the interface is specified as exception safe and provided with the specifier noexcept [SWS_DM_01069]. It thus throws no C++ exceptions. Specific error codes or error messages via DET or DEM are not defined in the specification for this acknowledgment function.

Concurrency and Constraints

According to the specification, the function is classified as not thread-safe (not thread-safe) [SWS_DM_01069]. Concurrent calls on the same instance are therefore not protected and must be coordinated by the caller.

Interaction

The function directly follows the periodic transmission sequence: it accepts the acknowledgment of the messages actually dispatched after a call to UdsTransportProtocolPeriodicHandler::PeriodicTransmit() AUTOSAR_AP_SWS_Diagnostics §C.2.1.2.2.6 “PeriodicTransmitConfirmation”. At the requirement level, the function is assigned to upstream requirement RS_Diag_04215 [SWS_DM_01069].

This usage note was generated by an AI based on the AUTOSAR R25-11 specification.

Implementer's Guide to follow (complexity I1)

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

Parameter (in)

ParameterBeschreibung
messagesThe same ordered list of messages previously passed to Uds TransportProtocolPeriodicHandler::Periodic Transmit().
numberOfSentMessagesThe number of successfully sent messages from the "messages" list.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_01069
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01069@rel:R25-11#bcf47ee9
Content hash
bcf47ee9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01069
Status: valid/unmigrated Version: rel:R25-11#53ff341c 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_01069@rel:R25-11#53ff341c
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#bcf47ee92026-09-30
  • R20-11rel:R20-11#92ace4d82026-10-14
  • R21-11rel:R21-11#cd6fd2542026-10-14
  • R22-11rel:R22-11#55d5fcb22026-10-14
  • R23-11rel:R23-11#389cb5052026-10-14
  • R24-11rel:R24-11#986d318f2026-10-14
  • R25-11rel:R25-11#53ff341c2026-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

function TransmitConfirmation [SWS_DM_00312] Upstream: RS_Diag_04172, RS_Diag_04147, RS_Diag_04168

virtual void TransmitConfirmation (UdsMessageConstPtr message, TransmissionResult result) noexcept=0;

Notification about the outcome of a transmit request called by core DM at the handler via Uds TransportProtocolHandler::Transmit(). This transmit API covers T_Data.con of ISO 14229-2[25] Figure 2.

Literaturverzeichnis SWS Diagnostics: [25] ISO 14229-2(2021) – Unified diagnostic services (UDS) - Part 2: Session layer services (Release 2021-10) – www.iso.org

AI-GENERATED unreviewed Model: gemini-3.8-flash-medium · Effort: medium · Temperature: not controllable · Prompt: b51c331436fa Provenance Open questions (1)
translated from the German guidegemini-3.8-flash-low · 2026-10-13 · German original

use

The pure virtual method TransmitConfirmation of interface apext::diag::uds_transport::UdsTransportProtocolMgr serves to notify Diagnostic Management (DM) about the completion of a transmit request that was previously initiated by DM via UdsTransportProtocolHandler::Transmit [SWS_DM_00312] [SWS_DM_00348]. The function implements the service primitive T_Data.con according to ISO 14229-2 [SWS_DM_00312].

Two parameters are passed during the call [SWS_DM_00312]:

  • message (UdsMessageConstPtr): Pointer to the UDS message that was previously provided in IndicateMessage() and whose transmission is being acknowledged [SWS_DM_00312].
  • result (TransmissionResult): Indicates the result of the transmission. If the network layer was able to successfully output the UDS response onto the network, the value must be set to kTransmitOk, otherwise to kTransmitFailed [SWS_DM_00351] SWS Diagnostics §7.1.1.3 “Confirmation Result”.

The method has no return value (void) and is declared as noexcept, which is why it must be executed in an exception-safe manner [SWS_DM_00312].

Concurrency and System Behavior

The interface is explicitly specified as not thread-safe [SWS_DM_00312]. Calls from concurrent network or handler contexts are therefore likely to require external synchronization by the transport protocol implementation. Question Q-e540ca89c3f61ecb (open)

In addition, the call affects authentication management: If a client is in the default session and in state kAuthenticated, the Diagnostic Server transitions it to state kDeAuthenticated if no new request is received for the duration of authenticationTimeout after the last TransmitConfirmation [SWS_DM_01210].

This text was generated by an AI and serves for technical orientation.

Implementer's Guide to follow (complexity I2)

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

Parameter (in)

ParameterBeschreibung
messageFor which message (created in IndicateMessage()) this is the confirmation.
resultResult of transmission. In case the UDS message could be transmitted on network layer kTransmitOk, else kTransmitFailed.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_DM_00312
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00312@rel:R25-11#677d428f
Content hash
677d428f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00312
Status: valid/unmigrated Version: rel:R25-11#222a75d3 Versionshistorie & Revisions (1 transition, 8 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_00312@rel:R25-11#222a75d3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#677d428f2026-09-30
  • R19-11rel:R19-11#212d61dd2026-10-14
  • R20-11rel:R20-11#a10ea9422026-10-14
  • R21-11rel:R21-11#71d0b62f2026-10-14
  • R22-11rel:R22-11#550859bf2026-10-14
  • R23-11rel:R23-11#54312aac2026-10-14
  • R24-11rel:R24-11#9aca7ec12026-10-14
  • R25-11rel:R25-11#222a75d32026-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

function ~UdsTransportProtocolMgr [SWS_DM_01524] Upstream: RS_AP_00134

virtual ~UdsTransportProtocolMgr () noexcept=default;

Destructor of class UdsTransportProtocolMgr.

Header-Datei#include "apext/diag/uds_transport/protocol_mgr.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolMgr
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01524
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01524@rel:R25-11#49e2bed9
Content hash
49e2bed9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01524
Status: valid/unmigrated Version: rel:R25-11#573fe30c Versionshistorie & Revisions (1 transition, 5 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_01524@rel:R25-11#573fe30c
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#49e2bed92026-09-30
  • R22-11rel:R22-11#d451921a2026-10-14
  • R23-11rel:R23-11#91e882962026-10-14
  • R24-11rel:R24-11#df6540502026-10-14
  • R25-11rel:R25-11#573fe30c2026-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

Enumeration documentation

enumeration IndicationResult [SWS_DM_00384] Upstream: RS_Diag_04147, RS_Diag_04168

enum class IndicationResult :            std::uint8_t {...};

Allowed return values from the DM Server to the Transport Protocol Handler Instance for the received IndicateMessage.

Header-Datei#include "apext/diag/uds_transport/protocol_mgr.h"
Forwarding-Header#include "apext/diag/diag_fwd.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolMgr
SymbolIndicationResult
Basistypstd::uint8_t

Werte

EnumeratorBeschreibung
kIndicationOk=0 Indication Ok.
kIndicationOccupied=1 Indication Occupied.
kIndicationOverflow=2 Indication Overflow.
kIndicationUnknownTargetAddress=3 Indication UnknownTargetAddress.

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

Record
AUTOSAR/AP/record/SWS_DM_00384
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00384@rel:R25-11#a696d162
Content hash
a696d162
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00384
Status: valid/unmigrated Version: rel:R25-11#fc9e7b47 Versionshistorie & Revisions (1 transition, 8 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_00384@rel:R25-11#fc9e7b47
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a696d1622026-09-30
  • R19-11rel:R19-11#d4b8e2312026-10-14
  • R20-11rel:R20-11#099ea9052026-10-14
  • R21-11rel:R21-11#b33d8fec2026-10-14
  • R22-11rel:R22-11#ecd3c6072026-10-14
  • R23-11rel:R23-11#707e152a2026-10-14
  • R24-11rel:R24-11#4437e4182026-10-14
  • R25-11rel:R25-11#fc9e7b472026-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

enumeration TransmissionResult [SWS_DM_00307] Upstream: RS_Diag_04172, RS_Diag_04147, RS_Diag_04168

enum class TransmissionResult :              std::uint8_t {...};

Values denoting the Transmission Confirmation Result provided by the Transport Protocol Handler Instance to the DM Server.

Header-Datei#include "apext/diag/uds_transport/protocol_mgr.h"
Forwarding-Header#include "apext/diag/diag_fwd.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolMgr
SymbolTransmissionResult
Basistypstd::uint8_t

Werte

EnumeratorBeschreibung
kTransmitOk=0 Transmission Ok.
kTransmitFailed=1 Transmission Failed.

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

Record
AUTOSAR/AP/record/SWS_DM_00307
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_00307@rel:R25-11#bb7c5933
Content hash
bb7c5933
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_00307
Status: valid/unmigrated Version: rel:R25-11#a96e1afe Versionshistorie & Revisions (1 transition, 8 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_00307@rel:R25-11#a96e1afe
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#bb7c59332026-09-30
  • R19-11rel:R19-11#3c5bd3e02026-10-14
  • R20-11rel:R20-11#1a40da8a2026-10-14
  • R21-11rel:R21-11#1a40da8a2026-10-14
  • R22-11rel:R22-11#dd385c782026-10-14
  • R23-11rel:R23-11#d63bd68e2026-10-14
  • R24-11rel:R24-11#0774c6bd2026-10-14
  • R25-11rel:R25-11#a96e1afe2026-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

Type alias documentation

type alias GlobalChannelIdentifier [SWS_DM_09021] Upstream: RS_Diag_04147, RS_Diag_04168

using GlobalChannelIdentifier = std::tuple<UdsTransportProtocolHandler ID, ChannelID>;

Type of tuple to pack UdsTransportProtocolHandlerID and ChannelID together, to form a global unique (among all used UdsTransportProtocolHandlers within DM) identifier of a Uds TransportProtocol channel.

Header-Datei#include "apext/diag/uds_transport/protocol_mgr.h"
Scopeclass apext::diag::uds_transport::UdsTransportProtocolMgr
SymbolGlobalChannelIdentifier

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

Record
AUTOSAR/AP/record/SWS_DM_09021
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_09021@rel:R25-11#4200e9d4
Content hash
4200e9d4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_09021
Status: valid/unmigrated Version: rel:R25-11#2dd38493 Versionshistorie & Revisions (1 transition, 8 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_09021@rel:R25-11#2dd38493
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4200e9d42026-09-30
  • R19-11rel:R19-11#7c3bef962026-10-14
  • R20-11rel:R20-11#8ffd78d52026-10-14
  • R21-11rel:R21-11#8ffd78d52026-10-14
  • R22-11rel:R22-11#b1e43aa62026-10-14
  • R23-11rel:R23-11#01454d8f2026-10-14
  • R24-11rel:R24-11#1fe1cbb92026-10-14
  • R25-11rel:R25-11#2dd384932026-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