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

사용자 가이드AI 생성

서비스 0x2A를 지원하기 위해 UDS 진단 메시지의 주기적인 전송을 지원합니다.
AI 생성 미검증 모델: 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 (열림) 인스턴스의 수명 주기는 일반적으로 각 전송 프로토콜 스택의 가용성에 바인딩됩니다. 통신 스택 종료 시 깔끔한 다형성 소멸을 위해 클래스는 가상 소멸자 ~UdsTransportProtocolPeriodicHandler()를 제공합니다([SWS_DM_02089], AUTOSAR_AP_SWS_Diagnostics §C.3.1.1.1.1 “Destructor”).

동시성과 관련하여 클래스의 모든 멤버 함수는 명시적으로 스레드 안전하지 않음(not thread-safe)으로 지정되어 있습니다([SWS_DM_01065], [SWS_DM_01066], [SWS_DM_01067], [SWS_DM_02089]). 따라서 여러 스레드를 통한 병렬 액세스 또는 동일한 ChannelID를 통한 동시 요청 시 호출자는 자체 책임하에 액세스를 동기화해야 합니다.

사용 경로

서비스 0x2A에 대한 주기적 메시지 전송을 수행하는 전형적인 절차는 다음 단계로 구성됩니다:

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)

시퀀스 다이어그램: 용량 쿼리, 주기적 전송 및 확인의 전형적인 절차. 출처: [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++ 예외로 이어지지 않으며, 제공된 확인 메커니즘을 통해 결정론적으로 보고됩니다.

이 클래스 가이드는 AUTOSAR Adaptive Platform Release R25-11 사양을 기반으로 하며 자동으로 생성되었습니다.

멤버 맵

클래스 다이어그램

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

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

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

메서드

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;

메서드 문서

함수 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#bc8c694c
Content hash
bc8c694c
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#21984f31
Content hash
21984f31
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.

AI 생성 미검증 모델: 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]. 이 메서드는 구성된 주기적 DID(PDID)가 주기적으로 트리거되는 ISO 14229-1 스케줄러 유형 1에 따른 주기적 전송 프레임워크 내에서 Diagnostic Management(DM)에 의해 일반적으로 호출됩니다 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#1261d3a5
Content hash
1261d3a5
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#d914f7ba
Content hash
d914f7ba
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