DEENESPTFRRUARHIKOZHNL

klasse 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

User GuideAI-GEGENEREERD

Kapselt actieve diagnoseondersteunde leesoverdrachten in en stuurt binnenkomende gegevensoverdrachten door naar geregistreerde handlers.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 9db606b147f6 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt actieve diagnoseondersteunde leesoverdrachten in en stuurt binnenkomende gegevensoverdrachten door naar geregistreerde handlers.

De klasse dient voor het inkapselen en gestructureerd beheren van alle varianten van diagnosegebaseerde leesoverdrachten binnen de adaptieve AUTOSAR-diagnosemodule conform [SWS_DM_01548]. Na het succesvol initiëren van een leesbewerking delegeert de Diagnostic Server-instantie binnenkomende verzoeken voor de sequentiële datablokoverdracht en voor het afsluiten van de sessie naar de geregistreerde methoden van de lees-handler [SWS_DM_01317]. Door het doelgericht uitschakelen van kopieeroperaties bij gelijktijdige ondersteuning van move-semantiek waarborgt de klasse daarbij een eenduidige toewijzing van het eigendom van de onderliggende overdrachtssessie.

Context

De klasse ara::diag::DataTransferReadSession representeert de inkapseling van alle varianten voor het diagnoseondersteund lezen van datablokken in de adaptieve diagnosemodule [SWS_DM_01548]. In het kader van gestandaardiseerde UDS-services zoals RequestFileTransfer (0x38), TransferData (0x36) en RequestTransferExit (0x37) fungeert de sessieklasse als schakel tussen de interne runtime-omgeving van de diagnoseserver en de applicatiespecifieke lees-handlers SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit”. Deze zorgt ervoor dat lopende uitleesbewerkingen – zoals voor bestanden via ReadFile [SWS_DM_01314] of mappen via ReadDir [SWS_DM_01315] – geïsoleerd worden beheerd en naar de bijbehorende handlers worden doorgestuurd.

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()

Contextdiagram: inbedding van DataTransferReadSession tussen diagnoseserver en applicatie-handler. Bronnen: [SWS_DM_01317], [SWS_DM_01318], SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit”

Levenscyclus

Een instantie van ara::diag::DataTransferReadSession heeft een levensduur die strikt gekoppeld is aan de overdrachtssessie. Het aanmaken via een standaardconstructor is expliciet verboden [SWS_DM_01549]. In plaats daarvan wordt de sessie geïnitialiseerd via gespecialiseerde template-constructors die de applicatiespecifieke handlers registreren SWS Diagnostics §7 “Realization of TransferData and RequestTransferExit”. De instantiëring vindt in de praktijk vermoedelijk typisch plaats door de diagnoseserver of de service-handler bij initiatie van de bestandsoverdracht. Vraag Q-b0706bcd28c702c6 (open)

Om meervoudige toewijzingen of inconsistente sessietoestanden uit te sluiten, is ara::diag::DataTransferReadSession ontworpen als niet-kopieerbare enkelvoudige instantie: zowel de copy-constructor [SWS_DM_01553] als de copy-toewijzingsoperator [SWS_DM_01554] zijn verwijderd (=delete). Een overdracht van eigendomsverhoudingen is uitsluitend voorzien via move-semantiek. De move-constructor [SWS_DM_01551] en de move-toewijzingsoperator [SWS_DM_01552] zijn gedefinieerd als noexcept=default. De vernietiging vindt deterministisch plaats via de destructor [SWS_DM_01550], die eveneens als noexcept=default is gedeclareerd. Vermoedelijk leidt de voltooiing van de overdracht via RequestTransferExit tot het vrijgeven van het object. Vraag Q-c1999fd1f283a007 (open)

Gebruikspad

Het typische verloop van een lees-overdrachtssessie is onderverdeeld in drie opeenvolgende fasen:

  • Initialisatie: Een externe diagnoseclient verzendt RequestFileTransfer met een leesmodus zoals ReadFile (0x04) [SWS_DM_01314] of ReadDir (0x05) [SWS_DM_01315]. Hierbij wordt de sessie-instantie aangemaakt en de lees-handler geregistreerd.
  • Gegevensoverdracht: Binnenkomende diagnoseverzoeken van het type TransferData (0x36) verwerkt de diagnoseserver door de corresponderende Read-methode van de via de template-constructors geregistreerde handler aan te roepen [SWS_DM_01317]. Dit gebeurt iteratief voor elk opgevraagd datablok.
  • Voltooiing: Zodra alle gegevens zijn overgedragen, verzendt de client RequestTransferExit (0x37). De diagnoseserver roept daaropvolgend de Exit-methode van de geregistreerde handler aan om de leesbewerking correct te beëindigen [SWS_DM_01318].
Verloop van een bestandsgebaseerde lees-transferDiagnose-ClientDiagnostic ServerDataTransferReadSessionRequestFileTransfer (0x38)ReadFile / ReadDirInitialisierung viaTemplate-KonstruktorPositiv-Response (0x78)loopZolang datablokken worden verzondenTransferData (0x36)Read()Gelesene BlockdatenTransferData Positiv-ResponseRequestTransferExit (0x37)Exit()Bevestiging voltooiingRequestTransferExit Response

Sequentiediagram: aanroepsequentie van een UDS-leesoverdracht met overdracht aan de geregistreerde sessie. Bronnen: [SWS_DM_01314], [SWS_DM_01315], [SWS_DM_01317], [SWS_DM_01318]

Foutscenario's

Omdat ara::diag::DataTransferReadSession gedeclareerd is als final en de standaardconstructor [SWS_DM_01549] niet bestaat, wordt een foutieve creatie zonder geregistreerde handler al tijdens compilatietijd voorkomen. Evenzo verhinderen de verwijderde kopieeroperaties [SWS_DM_01553] het per ongeluk dupliceren van sessietoestanden. Zowel move-constructie als move-toewijzing en vernietiging garanderen door hun noexcept-specificatie absolute uitzonderingsveiligheid [SWS_DM_01551] [SWS_DM_01550]. Faalt de levering van datablokken in de handler, dan wordt dit in het kader van de UDS-communicatie op protocolniveau afgehandeld.

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive Platform R25-11 (module diag) en vat de eisen aan ara::diag::DataTransferReadSession samen.

Ledenkaart

Operatoren

1

Klassendiagram

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

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

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

No default construction allowed.

Overloads 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;

Operatoren

operator= functie 2

Move assigns an instance of this class.

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

Documentatie van de methoden

functie 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#4969af9b
Content hash
4969af9b
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

functie 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#6be009be
Content hash
6be009be
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

functie 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#1b13f195
Content hash
1b13f195
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

functie 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#0a8bed46
Content hash
0a8bed46
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

functie 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#b211d8cb
Content hash
b211d8cb
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

functie ~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#1a6525a2
Content hash
1a6525a2
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