DEENESPTFRRUARHIKOZHNL

클래스 ara::diag::DataTransferReadSession

[SWS_DM_01548] Upstream: RS_Diag_04135

class DataTransferReadSession final {...};

Encapsulates all data transfer reading variants.

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

사용자 가이드AI 생성

활성 진단 기반 읽기 전송을 캡슐화하고 수신 데이터 전송을 등록된 핸들러로 전달합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9db606b147f6 출처 열린 질문 (2)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

활성 진단 기반 읽기 전송을 캡슐화하고 수신 데이터 전송을 등록된 핸들러로 전달합니다.

이 클래스는 [SWS_DM_01548]에 따라 AUTOSAR Adaptive 진단 모듈 내에서 모든 변형의 진단 기반 읽기 전송을 캡슐화하고 구조적으로 관리하는 역할을 합니다. 읽기 작업이 성공적으로 개시된 후, Diagnostic Server 인스턴스는 순차적 데이터 블록 전송 및 세션 종료에 대한 수신 요청을 읽기 핸들러 [SWS_DM_01317]의 등록된 메서드로 위임합니다. 이 클래스는 복사 작업을 명시적으로 비활성화하는 동시에 이동 의미론(Move Semantics)을 지원함으로써 기반 전송 세션에 대한 명확한 소유권 할당을 보장합니다.

컨텍스트

ara::diag::DataTransferReadSession 클래스는 Adaptive 진단 모듈 [SWS_DM_01548]에서 데이터 블록의 진단 기반 읽기를 위한 모든 변형의 캡슐화를 나타냅니다. RequestFileTransfer(0x38), TransferData(0x36), RequestTransferExit(0x37)와 같은 표준화된 UDS 서비스의 맥락에서 이 세션 클래스는 진단 서버의 내부 런타임 환경과 애플리케이션 고유의 읽기 핸들러 SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit” 간의 연결 고리 역할을 합니다. 이 클래스는 ReadFile [SWS_DM_01314]을(를) 통한 파일 또는 ReadDir [SWS_DM_01315]을(를) 통한 디렉터리와 같이 진행 중인 판독 작업을 격리하여 관리하고 관련 핸들러로 전달되도록 보장합니다.

DataTransferReadSessionContext client Diagnose-Client (Tester) server Diagnostic Server (ara::diag) client->server UDS RequestFileTransfer TransferData / Exit session ara::diag::DataTransferReadSession (Transfersitzung) server->session verwaltet Lesesitzung handler Lese-Handler (Applikation) session->handler delegiert Read() / Exit()

컨텍스트 다이어그램: 진단 서버와 애플리케이션 핸들러 간의 DataTransferReadSession 임베딩. 출처: [SWS_DM_01317], [SWS_DM_01318], SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit”

수명 주기

ara::diag::DataTransferReadSession의 인스턴스는 전송 세션에 엄격하게 결합된 수명을 갖습니다. 기본 생성자를 통한 생성은 명시적으로 금지되어 있습니다 [SWS_DM_01549]. 대신 세션은 애플리케이션별 핸들러를 등록하는 특수화된 템플릿 생성자를 통해 초기화됩니다 SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit”. 실제 환경에서의 인스턴스화는 일반적으로 파일 전송 개시 시 진단 서버 또는 서비스 핸들러에 의해 수행될 것으로 보입니다. 질문 Q-b0706bcd28c702c6 (열림)

다중 할당 또는 일관되지 않은 세션 상태를 방지하기 위해 ara::diag::DataTransferReadSession은(는) 복사 불가능한 단일 인스턴스로 설계되었습니다. 복사 생성자 [SWS_DM_01553] 및 복사 할당 연산자 [SWS_DM_01554]가 모두 삭제되었습니다(=delete). 소유권 전달은 이동 의미론(Move Semantics)을 통해서만 제공됩니다. 이동 생성자 [SWS_DM_01551] 및 이동 할당 연산자 [SWS_DM_01552]는 noexcept=default(으)로 정의됩니다. 소멸은 [SWS_DM_01550] 소멸자를 통해 결정론적으로 수행되며, 이 역시 noexcept=default(으)로 선언되어 있습니다. 아마도 RequestTransferExit를 통한 전송 완료 시 객체 해제가 이루어질 것으로 추정됩니다. 질문 Q-c1999fd1f283a007 (열림)

사용 경로

일반적인 읽기 전송 세션의 흐름은 다음과 같은 세 가지 연속적인 단계로 나뉩니다:

  • 초기화: 외부 진단 클라이언트가 ReadFile(0x04) [SWS_DM_01314] 또는 ReadDir(0x05) [SWS_DM_01315]과(와) 같은 읽기 모드로 RequestFileTransfer를 전송합니다. 이때 세션 인스턴스가 생성되고 읽기 핸들러가 등록됩니다.
  • 데이터 전송: 진단 서버는 템플릿 생성자를 통해 등록된 핸들러의 해당 Read 메서드를 호출하여 TransferData(0x36) 유형의 수신 진단 요청을 처리합니다 [SWS_DM_01317]. 이는 요청된 각 데이터 블록에 대해 반복적으로 발생합니다.
  • 완료: 모든 데이터가 전송되면 클라이언트는 RequestTransferExit(0x37)를 전송합니다. 그러면 진단 서버는 등록된 핸들러의 Exit 메서드를 호출하여 읽기 작업을 정상적으로 종료합니다 [SWS_DM_01318].
파일 기반 읽기 전송 시퀀스진단 클라이언트Diagnostic ServerDataTransferReadSessionRequestFileTransfer (0x38)ReadFile / ReadDirInitialisierung viaTemplate-KonstruktorPositiv-Response (0x78)loop데이터 블록이 전송되는 동안TransferData (0x36)Read()Gelesene BlockdatenTransferData Positiv-ResponseRequestTransferExit (0x37)Exit()완료 확인RequestTransferExit Response

시퀀스 다이어그램: 등록된 세션으로의 전달을 포함한 UDS 읽기 전송의 호출 시퀀스. 출처: [SWS_DM_01314], [SWS_DM_01315], [SWS_DM_01317], [SWS_DM_01318]

오류 시나리오

ara::diag::DataTransferReadSession이(가) final(으)로 선언되어 있고 기본 생성자 [SWS_DM_01549]이(가) 존재하지 않으므로 등록된 핸들러가 없는 잘못된 생성은 이미 컴파일 시점에 방지됩니다. 마찬가지로 삭제된 복사 연산 [SWS_DM_01553]은(는) 세션 상태의 실수에 의한 복제를 방지합니다. 이동 생성, 이동 할당 및 소멸은 모두 noexcept 사양을 통해 완벽한 예외 안전성을 보장합니다 [SWS_DM_01551] [SWS_DM_01550]. 핸들러에서 데이터 블록 제공에 실패하는 경우 이는 UDS 통신의 프로토콜 수준에서 처리됩니다.

이 가이드는 AUTOSAR Adaptive Platform R25-11 사양(diag 모듈)을 기반으로 하며 ara::diag::DataTransferReadSession에 대한 요구사항을 요약합니다.

멤버 맵

클래스 다이어그램

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

G nara__diag__DataTransferReadSession318 DataTransferReadSession + DataTransferReadSession() + ~DataTransferReadSession() + operator=()

상세 보기

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

생성자 및 소멸자

No default construction allowed.

오버로드 DataTransferReadSession 3
DataTransferReadSession ()=delete; SWS_DM_01549
DataTransferReadSession (DataTransferReadSession &&other) noexcept=default; SWS_DM_01551
DataTransferReadSession (DataTransferReadSession const &)=delete; SWS_DM_01553

Destructs an instance of this class.

~DataTransferReadSession () noexcept=default;

연산자

operator= 함수 2

Move assigns an instance of this class.

오버로드 = 2
auto operator= (DataTransferReadSession &&other) & noexcept -> Data TransferReadSession & =default; SWS_DM_01552
auto operator= (DataTransferReadSession const &) -> DataTransferRead Session &=delete; SWS_DM_01554

메서드 문서

함수 DataTransferReadSession [SWS_DM_01549] Upstream: RS_Diag_04135

DataTransferReadSession ()=delete;

No default construction allowed.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01549
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01549@rel:R25-11#28fc74bb
Content hash
28fc74bb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01549
Status: valid/unmigrated Version: rel:R25-11#b12b963b 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_01549@rel:R25-11#b12b963b
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c4cbcc0b2026-09-30
  • R22-11rel:R22-11#99668fac2026-10-14
  • R23-11rel:R23-11#f616e79a2026-10-14
  • R24-11rel:R24-11#b12b963b2026-10-14
  • R25-11rel:R25-11#b12b963b2026-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

함수 DataTransferReadSession [SWS_DM_01551] Upstream: RS_Diag_04135

DataTransferReadSession (DataTransferReadSession &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession
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_01551
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01551@rel:R25-11#68f2594b
Content hash
68f2594b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01551
Status: valid/unmigrated Version: rel:R25-11#9d8ef11f 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_01551@rel:R25-11#9d8ef11f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#21edf1762026-09-30
  • R22-11rel:R22-11#313c13512026-10-14
  • R23-11rel:R23-11#ab0c46e72026-10-14
  • R24-11rel:R24-11#5b475da32026-10-14
  • R25-11rel:R25-11#9d8ef11f2026-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

함수 DataTransferReadSession [SWS_DM_01553] Upstream: RS_Diag_04135

DataTransferReadSession (DataTransferReadSession const &)=delete;

DataTransferReadSession shall be a single not copy-able instance.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01553
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01553@rel:R25-11#80111971
Content hash
80111971
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01553
Status: valid/unmigrated Version: rel:R25-11#fbc13491 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_01553@rel:R25-11#fbc13491
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#a630ea6c2026-09-30
  • R22-11rel:R22-11#35a6d77b2026-10-14
  • R23-11rel:R23-11#c1d834202026-10-14
  • R24-11rel:R24-11#6803928e2026-10-14
  • R25-11rel:R25-11#fbc134912026-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_01552] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSession &&other) & noexcept -> Data TransferReadSession & =default;

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadSessionReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01552
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01552@rel:R25-11#aacd755f
Content hash
aacd755f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01552
Status: valid/unmigrated Version: rel:R25-11#d99670ce 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_01552@rel:R25-11#d99670ce
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#457fd3d02026-09-30
  • R22-11rel:R22-11#85ce121e2026-10-14
  • R23-11rel:R23-11#e7bc25f92026-10-14
  • R24-11rel:R24-11#826c7d1b2026-10-14
  • R25-11rel:R25-11#d99670ce2026-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_01554] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSession const &) -> DataTransferRead Session &=delete;

DataTransferReadSession shall be a single not assign-able instance.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01554@rel:R25-11#0c041350
Content hash
0c041350
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01554
Status: valid/unmigrated Version: rel:R25-11#8d7ab93b 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_01554@rel:R25-11#8d7ab93b
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#a2fa062f2026-09-30
  • R22-11rel:R22-11#609b1c622026-10-14
  • R23-11rel:R23-11#22a9c8aa2026-10-14
  • R24-11rel:R24-11#c9a88d712026-10-14
  • R25-11rel:R25-11#8d7ab93b2026-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

함수 ~DataTransferReadSession [SWS_DM_01550] Upstream: RS_Diag_04135

~DataTransferReadSession () noexcept=default;

Destructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01550@rel:R25-11#68ae7830
Content hash
68ae7830
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01550
Status: valid/unmigrated Version: rel:R25-11#0b5bb2a2 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_01550@rel:R25-11#0b5bb2a2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d3c560642026-09-30
  • R22-11rel:R22-11#18bafff82026-10-14
  • R23-11rel:R23-11#bfe91d802026-10-14
  • R24-11rel:R24-11#94e05f472026-10-14
  • R25-11rel:R25-11#0b5bb2a22026-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