DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite la transmisión periódica de mensajes de diagnóstico UDS en soporte del servicio 0x2A.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: fabfa1b95261 Procedencia Preguntas abiertas (3)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite la transmisión periódica de mensajes de diagnóstico UDS en soporte del servicio 0x2A.

La clase apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler proporciona una interfaz puramente virtual para el procesamiento del servicio UDS periódico 0x2A a través de canales de diagnóstico específicos del transporte ([SWS_DM_01064]). Permite a la gestión de diagnóstico determinar los límites de datos útiles y de cantidad específicos del canal, así como la transmisión ordenada de varios mensajes UDS mediante PeriodicTransmit ([SWS_DM_01067]). Si falla el envío de un mensaje, la operación se cancela y el estado se notifica mediante una función de confirmación. Dado que todos los métodos están especificados como no seguros para subprocesos (thread-safe), el invocador debe sincronizar los accesos concurrentes.

Contexto

La clase puramente virtual apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler representa la interfaz estandarizada para admitir la lectura periódica de datos de diagnóstico conforme al servicio UDS 0x2A ([SWS_DM_01064], AUTOSAR_AP_SWS_Diagnostics §C.3.1 «Class: UdsTransportProtocolPeriodicHandler»). En el sistema de diagnóstico de la AUTOSAR Adaptive Platform, desacopla la gestión de diagnóstico de nivel superior de la implementación concreta de la red y del protocolo de transporte. Mientras que la gestión de diagnóstico evalúa las solicitudes entrantes para transmisiones periódicas y compone los paquetes de datos correspondientes, el manejador asume la transmisión efectiva de estos mensajes periódicos a través de una conexión concreta ([SWS_DM_01067]). En este contexto, actúan como interlocutores la gestión de diagnóstico en el lado del invocador, así como el respectivo canal de comunicación, el cual se identifica mediante un ChannelID unívoco ([SWS_DM_01065], [SWS_DM_01066]).

diag_periodic_kontext diag_server Diagnose-Server (UDS 0x2A) handler UdsTransportProtocolPeriodicHandler diag_server->handler Consulta de capacidad y orden de envío handler->diag_server PeriodicTransmit Confirmation transport Transportschicht (ChannelID) handler->transport Periodische Nachrichten

Diagrama de contexto: integración de UdsTransportProtocolPeriodicHandler entre el servidor de diagnóstico y la capa de transporte. Fuentes: [SWS_DM_01064], [SWS_DM_01067], AUTOSAR_AP_SWS_Diagnostics §C.3.1 «Class: UdsTransportProtocolPeriodicHandler».

Ciclo de vida

Dado que UdsTransportProtocolPeriodicHandler está definida como una interfaz base abstracta con métodos puramente virtuales, no puede instanciarse directamente ([SWS_DM_01064]). La creación de instancias concretas de manejadores se realiza presumiblemente mediante componentes de controlador específicos del transporte (por ejemplo, para protocolos basados en DoIP o CAN). Pregunta Q-d0b3bf3b0c14dcf6 (abierta) El ciclo de vida de la instancia suele estar vinculado a la disponibilidad de la pila de protocolos de transporte correspondiente. Para una destrucción polimórfica limpia al finalizar la pila de comunicaciones, la clase proporciona un destructor virtual ~UdsTransportProtocolPeriodicHandler() ([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 «Destructor»).

En lo relativo a la concurrencia, todas las funciones miembro de la clase están designadas explícitamente como no seguras para subprocesos (not thread-safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Por lo tanto, en caso de acceso en paralelo a través de múltiples hilos o solicitudes simultáneas sobre el mismo ChannelID, los invocadores deben sincronizar los accesos bajo su propia responsabilidad.

Ruta de uso

Un flujo típico para llevar a cabo transmisiones periódicas de mensajes para el servicio 0x2A se divide en los siguientes pasos:

Transmisión periódica a través de UdsTransportProtocolPeriodicHandlerDiagnose-Server (0x2A)UdsTransportProtocolPeriodicHandlerTransportschicht / KanalUse Case: Kanalparameter ermittelnGetMaxPayloadLength(channelId)maxPayloadLengthGetNumberOfPeriodicMessages(channelId)numberOfPeriodicMessagesUse Case: Periodischer SendevorgangPeriodicTransmit(channelId, messages)loopPara cada mensaje en messagesTransmitir mensajealtSe produjo un error de transmisiónSendeprozess stoppenPeriodicTransmit Confirmation(anzahlGesendet, messages)Todos los mensajes con éxitoPeriodicTransmit Confirmation(gesamtAnzahl, messages)

Diagrama de secuencia: flujo típico de la consulta de capacidad, del envío periódico y de la confirmación. Fuentes: [SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067].

Escenarios de error

Durante la ejecución de PeriodicTransmit, todos los mensajes de la lista se transmiten uno tras otro. Si falla la transmisión de un solo mensaje, todo el proceso de envío se cancela de inmediato ([SWS_DM_01067]). En este caso, los mensajes subsiguientes de la lista ya no se envían. Para el diagnóstico de errores y la información a la gestión de diagnóstico, se desencadena aun así la invocación de confirmación PeriodicTransmit Confirmation. Esta contiene el número de mensajes transmitidos con éxito hasta la cancelación, así como, sin modificaciones, el vector completo con mensajes UDS ([SWS_DM_01067]). De este modo, la gestión de diagnóstico puede rastrear con exactitud qué mensaje causó el error.

Todos los métodos de la interfaz están especificados como noexcept y con seguridad frente a excepciones (exception safe) ([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). Los estados de error durante la transmisión no dan lugar a excepciones de C++, sino que se notifican de manera determinista a través del mecanismo de confirmación previsto.

Esta guía de clases se basa en la especificación AUTOSAR Adaptive Platform Release R25-11 y se ha generado automáticamente.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

Métodos

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;

Documentación de los métodos

función 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#32ad59af
Content hash
32ad59af
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

función 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#0c6ea004
Content hash
0c6ea004
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ceb97c8b447f Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método puramente virtual PeriodicTransmit de la interfaz apext::diag::uds_transport::UdsTransportProtocolPeriodicHandler sirve para el envío agrupado de mensajes UDS periódicos a través de una conexión de transporte existente [SWS_DM_01067]. El Diagnostic Management (DM) lo llama típicamente en el marco de la transmisión periódica según el planificador tipo 1 conforme a ISO 14229-1, en el cual los DID periódicos (PDID) configurados se activan cíclicamente AUTOSAR_AP_SWS_Diagnostics §Scheduler Periodic Transmission [SWS_DM_01060].

Parámetros y semántica

  • channelId: identificador del canal de comunicación concreto a través del cual se realiza la transmisión [SWS_DM_01067].
  • messages: lista ordenada (ara::core::Vector<UdsMessageConstPtr>) de todos los mensajes que deben transmitirse inmediatamente uno tras otro [SWS_DM_01067].

La función no proporciona ningún valor de retorno y garantiza la seguridad frente a excepciones declarada como noexcept [SWS_DM_01067]. Los mensajes se procesan estrictamente en el orden transferido.

Gestión de errores y confirmación

Si falla el envío de un solo mensaje, todo el proceso de envío se interrumpe de inmediato [SWS_DM_01067]. Para la notificación del resultado se invoca la función de confirmación PeriodicTransmitConfirmation del UdsTransportProtocolMgr [SWS_DM_01069]. Esta devolución de llamada transfiere la cantidad de mensajes transmitidos con éxito, así como el mismo vector de mensajes original [SWS_DM_01067].

concurrencia

El método está especificado como not thread-safe [SWS_DM_01067]. Las llamadas paralelas en la misma instancia deben sincronizarse en el lado del llamador.

Este texto ha sido generado por una IA a partir de la especificación AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#c0224e2b
Content hash
c0224e2b
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

función ~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#4fd8982b
Content hash
4fd8982b
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