DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::DataTransferReadByPushHandler

[SWS_DM_01515] Upstream: RS_Diag_04135

class DataTransferReadByPushHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with data pushed by the implementation.

Header-Datei#include "ara/diag/data_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

사용자 가이드AI 생성

UDS 읽기 요청 시 애플리케이션이 파일 및 디렉터리 내용을 능동적으로 제공할 수 있도록 지원합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 1ed24b3e3197 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

UDS 읽기 요청 시 애플리케이션이 파일 및 디렉터리 내용을 능동적으로 제공할 수 있도록 지원합니다.

ara::diag::DataTransferReadByPushHandler 클래스는 애플리케이션이 파일 내용을 능동적으로 패킷화하여 제공하는 UDS 읽기 전송을 위한 기본 인터페이스 역할을 합니다[SWS_DM_01515]. 데이터 블록은 Read()을 통해 순차적으로 전달되며, 이후 ExitRead()을 통해 전송 세션이 질서정연하게 완료됩니다[SWS_DM_01523]. 각 핸들러는 정확히 하나의 전송 세션에 엄격하게 바인딩되므로 복사 작업이 금지됩니다. 주요 수명 주기 조건으로서, 인스턴스는 ExitRead() 호출 전에 절대로 소멸되어서는 안 됩니다[SWS_DM_01519].

컨텍스트

ara::diag::DataTransferReadByPushHandler 클래스는 RequestReadFile 또는 RequestReadDirectory와 같은 요청에 의해 시작된 진단 데이터 전송을 위한 기본 및 인터페이스 클래스 역할을 합니다[SWS_DM_01515]. 기본 전송 패턴은 푸시(Push) 원칙을 기반으로 합니다. 즉, 파일 또는 디렉터리 데이터가 특정 애플리케이션 구현체에 의해 능동적으로 패킷화되어 Diagnostic Management(DM)로 전달됩니다AUTOSAR_AP_SWS_Diagnostics §8.10.3 “Class: DataTransferReadByPushHandler”. 외부 UDS 클라이언트, 플랫폼 컴포넌트 ara::diag, 애플리케이션의 구체적인 핸들러 구현체 간에 상호작용이 이루어집니다.

client UDS-Client dm ara::diag (DM) client->dm UDS RequestReadFile / TransferData dm->client UDS Response handler DataTransferReadByPushHandler dm->handler Read() / ExitRead() handler->dm Future<Vector<Byte>>

컨텍스트 다이어그램: 외부 UDS 클라이언트와 Diagnostic Management 사이에서의 푸시 핸들러 배치. 출처: [SWS_DM_01515], AUTOSAR_AP_SWS_Diagnostics §8.10.3 “Class: DataTransferReadByPushHandler”

수명 주기

DataTransferReadByPushHandler은 추상 기본 클래스로 설계되었으므로 매개변수가 없는 생성자는 보호된 접근 수준(protected)을 가집니다[SWS_DM_01516]. 인스턴스화는 애플리케이션 내 파생 클래스의 컨텍스트에서 수행됩니다. 인스턴스는 정확히 하나의 파일 전송 세션에 엄격하게 바인딩되며(“one way usage”), 결과적으로 복사 생성자 [SWS_DM_01518] 및 복사 할당 연산자 [SWS_DM_01521]는 명시적으로 삭제됩니다(=delete). 이동 생성자 [SWS_DM_01517] 및 이동 할당 [SWS_DM_01520]은 기본 구현으로 제공되고 예외 안전(noexcept)으로 선언되어 있으므로 이동 작업을 통해 소유권 전송이 가능합니다.

핸들러 소멸에 대해 규격은 엄격한 선행 조건을 정의합니다. 세션이 ExitRead() 호출을 통해 종료되기 전에는 인스턴스를 절대로 소멸시켜서는 안 됩니다[SWS_DM_01519], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.1.2 “Destructor”. 동시성과 관련하여 클래스의 가상 메서드는 스레드 안전하지 않은(“not thread-safe”) 것으로 지정되어 있으므로[SWS_DM_01522], [SWS_DM_01523] 플랫폼에 의한 동시 접근은 동기화되거나 순차적으로 실행되어야 합니다.

사용 경로

운영 흐름은 데이터 프래그먼트의 반복적인 제공과 체계적인 세션 종료로 나뉩니다. 읽기 작업이 시작된 후 ara::diag은 Read() 메서드를 반복적으로 호출합니다[SWS_DM_01522], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.2 “Read”. 이때 프레임워크는 최적의 처리량을 달성하기 위한 바이트 단위의 권장 반환 크기 가이드라인(recommended_number_bytes_to_return), 요청 컨텍스트(MetaInfo) 및 CancellationHandler을 전달합니다. 애플리케이션은 데이터 패킷을 생성하고 ara::core::Future<ara::core::Vector<ara::core::Byte>>을 통해 해당 소유권을 Diagnostic Management로 이전하며, Diagnostic Management는 블록 시퀀스 카운터 뒤에 페이로드를 UDS 응답 메시지에 삽입합니다[SWS_DM_01522].

모든 데이터 블록이 전송되었거나 세션을 종료해야 하는 즉시 ara::diag은 ExitRead() 메서드를 호출합니다[SWS_DM_01523], AUTOSAR_AP_SWS_Diagnostics §8.10.3.1.3.1 “ExitRead”. 종료 이유(DataTransferExitType exit_type) 외에도 제조사별 요청 파라미터가 transfer_request_parameter_record을 통해 전달됩니다. 이 파라미터 span의 수명은 연관된 프라미스가 충족되거나 처리가 취소될 때까지 구속력 있게 결합됩니다[SWS_DM_01523]. Future을 통해 최종 응답 파라미터 세트가 반환된 후 전송이 종료된 것으로 간주되며, 이로써 핸들러 객체를 안전하게 소멸시키기 위한 조건이 충족됩니다[SWS_DM_01519].

푸시 기반 읽기 전송 시퀀스ara::diag (DM)DataTransferReadByPushHandlerUse Case: 데이터 전송(읽기 루프)Read(recommended_bytes, meta_info, cancel_handler)Datenchunk erzeugenFuture<Vector<Byte>> bereitstellenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancel_handler)Sitzungsressourcen freigebenFuture<Vector<Byte>> bereitstellen

시퀀스 다이어그램: 읽기 전송 및 전송 종료 시 Diagnostic Management와 핸들러 간의 전형적인 상호작용 순서. 출처: [SWS_DM_01522], [SWS_DM_01523], [SWS_DM_01519]

오류 시나리오

데이터 블록 조합 중 또는 세션 종료 시 오류가 발생하면 해당 ara::core::Future을 통해 비동기식으로 보고됩니다. 긍정 응답 구조 대신 퓨처는 ISO 14229-1에 따른 적절한 부정 응답 코드(Negative Response Code, NRC)에 해당하는 DiagUdsNrcErrc 범위의 오류 코드(ara::core::ErrorCode)와 함께 제공됩니다[SWS_DM_01522], [SWS_DM_01523].

진단 대화가 중단되거나 클라이언트가 취소 요청을 보내면 전달된 CancellationHandler이 적용됩니다. 구현체는 cancellation_handler.IsCanceled()을 통해 현재 취소 상태를 쿼리하거나 대화 취소 시 트리거되는 콜백 함수를 cancellation_handler.SetNotifier()를 통해 등록할 수 있습니다[SWS_DM_01522], [SWS_DM_01523]. 프라미스의 충족 또는 취소는 동시에 ExitRead() 내 파라미터 세트의 유효성 종료를 의미합니다[SWS_DM_01523].

이 가이드는 AUTOSAR Adaptive Platform 릴리스 R25-11 사양을 기반으로 합니다.

멤버 맵

클래스 다이어그램

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

G nara__diag__DataTransferReadByPushHandler95 DataTransferReadByPushHandler + DataTransferReadByPushHandler() + ~DataTransferReadByPushHandler() + ExitRead() + Read() + operator=()

상세 보기

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

생성자 및 소멸자

Constructs an instance of this class.

오버로드 DataTransferReadByPushHandler 3
DataTransferReadByPushHandler () noexcept=default; SWS_DM_01516
DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default; SWS_DM_01517
DataTransferReadByPushHandler (DataTransferReadByPushHandler const &)=delete; SWS_DM_01518

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called

virtual ~DataTransferReadByPushHandler () noexcept=default;

메서드

ExitRead 함수

Exits an ongoing data transfer session.

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;
Read 함수

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and its ownership is passed as a result to ara::diag.

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

연산자

operator= 함수 2

Move assigns an instance of this class.

오버로드 = 2
auto operator= (DataTransferReadByPushHandler &&other) & noexcept -> DataTransferReadByPushHandler & =default; SWS_DM_01520
auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete; SWS_DM_01521

메서드 문서

함수 DataTransferReadByPushHandler [SWS_DM_01516] Upstream: RS_Diag_04135

DataTransferReadByPushHandler () noexcept=default;

Constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe
Sichtbarkeitprotected

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

Record
AUTOSAR/AP/record/SWS_DM_01516
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01516@rel:R25-11#3e555e15
Content hash
3e555e15
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01516
Status: valid/unmigrated Version: rel:R25-11#49a6743f 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_01516@rel:R25-11#49a6743f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9f5e769b2026-09-30
  • R22-11rel:R22-11#d8dde2912026-10-14
  • R23-11rel:R23-11#98b8947b2026-10-14
  • R24-11rel:R24-11#a73be3ff2026-10-14
  • R25-11rel:R25-11#49a6743f2026-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

함수 DataTransferReadByPushHandler [SWS_DM_01517] Upstream: RS_Diag_04135

DataTransferReadByPushHandler (DataTransferReadByPushHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

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

Record
AUTOSAR/AP/record/SWS_DM_01517
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01517@rel:R25-11#33f9f928
Content hash
33f9f928
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01517
Status: valid/unmigrated Version: rel:R25-11#7e951d87 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_01517@rel:R25-11#7e951d87
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#cf1ac9f92026-09-30
  • R22-11rel:R22-11#f70fc75f2026-10-14
  • R23-11rel:R23-11#0fe43a672026-10-14
  • R24-11rel:R24-11#b4cb6e672026-10-14
  • R25-11rel:R25-11#7e951d872026-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

함수 DataTransferReadByPushHandler [SWS_DM_01518] Upstream: RS_Diag_04135

DataTransferReadByPushHandler (DataTransferReadByPushHandler const &)=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01518
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01518@rel:R25-11#3c388ecf
Content hash
3c388ecf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01518
Status: valid/unmigrated Version: rel:R25-11#a724748f 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_01518@rel:R25-11#a724748f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#90c604c32026-09-30
  • R22-11rel:R22-11#9fb9734c2026-10-14
  • R23-11rel:R23-11#44c63dd52026-10-14
  • R24-11rel:R24-11#08b9bed72026-10-14
  • R25-11rel:R25-11#a724748f2026-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

함수 ExitRead [SWS_DM_01523] Upstream: RS_Diag_04135

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Exits an ongoing data transfer session.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: eefe02828ffe 출처
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

가상 메서드 ExitRead은(는) 진단 핸들러 컨텍스트에서 진행 중인 데이터 전송 세션을 종료합니다[SWS_DM_01523]. 이 함수는 비동기식으로 작동하며 응답 데이터를 바이트 벡터로 포함하는 ara::core::Future을(를) 반환합니다SWS Diagnostics §8.10.3.1.3.1 “ExitRead”.

매개변수 및 호출 컨텍스트

  • exit_type (DataTransferExitType): 전송 종료 이유를 지정합니다[SWS_DM_01523].
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): 데이터 전송을 지원하기 위한 제조업체별 매개변수를 포함합니다. 기본 데이터는 관련 Promise가 충족되거나 처리가 중단될 때까지 유효해야 합니다[SWS_DM_01523].
  • meta_info (MetaInfo const &): 진단 요청의 메타 정보를 전달합니다[SWS_DM_01523].
  • cancellation_handler (CancellationHandler): 세션 중단 시 IsCanceled()을(를) 사용하여 중단 상태를 확인하거나 SetNotifier()을(를) 통해 콜백 함수를 등록하는 데 사용됩니다[SWS_DM_01523].

오류 처리 및 반환값

성공 시 Future은(는) 출력 데이터를 제공하며, 이는 긍정 UDS 응답에서 SID 뒤에 transferResponseParameterRecord(으)로 배치됩니다[SWS_DM_01523]. 실패 시 Future은(는) ISO 14229-1에 따라 DiagUdsNrcErrc의 적절한 부정 응답 코드(NRC)로 완료됩니다[SWS_DM_01523].

동시성 및 수명 주기

이 메서드는 예외 안전(exception safe)이지만 명시적으로 스레드 안전하지 않음(not thread-safe)으로 지정되어 있습니다[SWS_DM_01523]. 객체 수명 주기와 관련하여 구속력 있는 순서 조건이 존재합니다: DataTransferReadByPushHandler의 인스턴스는 ExitRead()을(를) 호출하기 전에 결코 소멸되어서는 안 됩니다[SWS_DM_01519]. 데이터 전송의 관련 핸들러 클래스에도 유사한 요구사항이 적용됩니다[SWS_DM_01510] [SWS_DM_01499].

이 텍스트는 AUTOSAR Adaptive R25-11 명세를 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I2)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
exit_typeSpecifies the exit reason
transfer_request_This parameter record contains parameter(s), which are required
parameter_recordby the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_infoMetaInfo of the request.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<ara::core::Byte > >A Future, which either gets readied to OperationOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01523
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01523@rel:R25-11#cf3c448f
Content hash
cf3c448f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01523
Status: valid/unmigrated Version: rel:R25-11#028dde2a 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_01523@rel:R25-11#028dde2a
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#50d94e4c2026-09-30
  • R22-11rel:R22-11#2702570e2026-10-14
  • R23-11rel:R23-11#730065222026-10-14
  • R24-11rel:R24-11#ddf661402026-10-14
  • R25-11rel:R25-11#028dde2a2026-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

함수 Read [SWS_DM_01522] Upstream: RS_Diag_04135

virtual auto Read (std::size_t recommended_number_bytes_to_return, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Reads data chunk from the application. The first or subsequent file/directory info content chunk to be sent back to the UDS client will be composed by the application and its ownership is passed as a result to ara::diag.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: fcd7efa833df 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

ara::diag::DataTransferReadByPushHandler 클래스의 순수 가상 메서드 Read은(는) 애플리케이션으로부터 파일 또는 디렉터리 정보용 데이터 블록을 비동기식으로 읽어오는 데 사용됩니다[SWS_DM_01522]. 애플리케이션은 각각의 데이터 청크를 조합하고 그 소유권을 ara::core::Vector<ara::core::Byte>(으)로 진단 모듈에 이전합니다.

사용법 및 호출 컨텍스트

이 호출은 헤더 파일 ara/diag/data_transfer.h을(를) 통해 UDS 클라이언트를 위한 응답 데이터를 제공하기 위해 Diagnostic Server에 의해 수행됩니다[SWS_DM_01522]. 이 메서드는 세 가지 매개변수를 예상합니다:

  • recommended_number_bytes_to_return: 최적의 처리량을 위한 권장 바이트 수입니다. 이 값은 Diagnostic Management의 내부 버퍼 또는 PDU 크기를 기반으로 할 것으로 보입니다. 질문 Q-1a8c1270b192b96f (열림)
  • meta_info: 수신 진단 요청의 추가 메타 정보입니다(MetaInfo).
  • cancellation_handler: 연결 중단 시 cancellation_handler.IsCanceled()을(를) 통해 중단 상태를 쿼리하거나 cancellation_handler.SetNotifier()을(를) 사용하여 알림을 등록할 수 있도록 합니다.

반환 값으로 ara::core::Future<ara::core::Vector<ara::core::Byte>>이(가) 사용됩니다. 처리가 성공하면 데이터는 시퀀스 카운터 뒤에 transferResponseParameterRecord(으)로 긍정 응답 메시지에 포함됩니다[SWS_DM_01522].

오류 처리 및 동시성

처리에 실패하면 Future는 ISO 14229-1에 따른 적절한 NRC를 매핑하는 DiagUdsNrcErrc의 오류 코드로 충족됩니다[SWS_DM_01522]. 인터페이스가 서비스에 의해 아직 또는 더 이상 offer()(으)로 제공되지 않는 경우, Diagnostic Manager는 NRC 0x94(ResourceTemporarilyNotAvailable)(으)로 요청에 응답합니다[SWS_DM_01257]. 이 메서드는 예외 안전(exception safe)이지만 스레드 안전하지 않음(not thread-safe)으로 지정되어 있으므로[SWS_DM_01522], 동시 호출은 애플리케이션 측에서 동기화되어야 합니다.

상호 작용

이 인터페이스의 푸시(push) 원칙은 진단 모듈의 대안적인 읽기 메커니즘을 보완합니다: 사전 정의된 메모리 영역을 사용하는 ara::diag::DataTransferReadByPullHandler::Read [SWS_DM_01513]을(를) 통한 풀(pull) 방식 및 ReleaseHandler [SWS_DM_01504]을(를) 사용한 공유 메모리 영역 제공이 있습니다.

이 텍스트는 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 I1)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
recommended_number_The recommended number of bytes to send back to DM in order to
bytes_to_returnget optimum data throughput.
meta_infoMetaInfo of the request.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<ara::core::Byte > >A Future, which either gets readied to ReadPushOutput (transfer ResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for a negative response message). Data in ReadPushOutput.responseData will be placed after block SequenceCounter as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01522
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01522@rel:R25-11#30447fec
Content hash
30447fec
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01522
Status: valid/unmigrated Version: rel:R25-11#e7e79431 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_01522@rel:R25-11#e7e79431
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#3e8fc1bb2026-09-30
  • R22-11rel:R22-11#3462fde32026-10-14
  • R23-11rel:R23-11#6dd9bce12026-10-14
  • R24-11rel:R24-11#cb10a5162026-10-14
  • R25-11rel:R25-11#e7e794312026-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

함수 operator= [SWS_DM_01520] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPushHandler &&other) & noexcept -> DataTransferReadByPushHandler & =default;

Move assigns an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadByPushHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01520
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01520@rel:R25-11#80f3f475
Content hash
80f3f475
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01520
Status: valid/unmigrated Version: rel:R25-11#d4049469 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_01520@rel:R25-11#d4049469
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#2ce931892026-09-30
  • R22-11rel:R22-11#62287d5f2026-10-14
  • R23-11rel:R23-11#96e4f4012026-10-14
  • R24-11rel:R24-11#ae7f03fd2026-10-14
  • R25-11rel:R25-11#d40494692026-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

함수 operator= [SWS_DM_01521] Upstream: RS_Diag_04135

auto operator= (DataTransferReadByPushHandler const &) -> DataTransfer ReadByPushHandler &=delete;

Handlers shall not be assignable since only one way usage i.e. per single file transfer session.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler

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

Record
AUTOSAR/AP/record/SWS_DM_01521
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01521@rel:R25-11#3747844b
Content hash
3747844b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01521
Status: valid/unmigrated Version: rel:R25-11#18457d2d 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_01521@rel:R25-11#18457d2d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#434ea9332026-09-30
  • R22-11rel:R22-11#e3d9fab02026-10-14
  • R23-11rel:R23-11#95ae839d2026-10-14
  • R24-11rel:R24-11#18457d2d2026-10-14
  • R25-11rel:R25-11#18457d2d2026-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

함수 ~DataTransferReadByPushHandler [SWS_DM_01519] Upstream: RS_Diag_04135

virtual ~DataTransferReadByPushHandler () noexcept=default;

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadByPushHandler
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01519
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01519@rel:R25-11#8a207498
Content hash
8a207498
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01519
Status: valid/unmigrated Version: rel:R25-11#0df2ec41 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_01519@rel:R25-11#0df2ec41
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#745728c02026-09-30
  • R22-11rel:R22-11#adf1131d2026-10-14
  • R23-11rel:R23-11#565380862026-10-14
  • R24-11rel:R24-11#0fbf5f402026-10-14
  • R25-11rel:R25-11#0df2ec412026-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