DEENESPTFRRUARHIKOZHNL

klasse ara::diag::DataTransferWriteSession

[SWS_DM_01555] Upstream: RS_Diag_04135

class DataTransferWriteSession final {...};

Encapsulates all data transfer writing variants.

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

User GuideAI-GEGENEREERD

Kapselt schrijvende diagnose-gegevensoverdrachten in en coördineert de afhandeling via schrijf-handlers.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 6f5de6951762 Herkomst Open vragen (2)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Kapselt schrijvende diagnose-gegevensoverdrachten in en coördineert de afhandeling via schrijf-handlers.

De klasse ara::diag::DataTransferWriteSession kapselt schrijvende diagnose-gegevensoverdrachten in en coördineert de doorzending naar applicatiespecifieke schrijf-handlers ([SWS_DM_01555]). Bij binnenkomende UDS-services zoals TransferData (0x36) of RequestTransferExit (0x37) roept de diagnoseserver-instantie de overeenkomstige Write- respectievelijk Exit-methoden van de geregistreerde handlers aan ([SWS_DM_01317]). Aangezien standaard- en kopieerconstructie verwijderd zijn, bestaat de sessie als een uitzonderingsveilig uniek exemplaar, waarvan de creatie vermoedelijk via template-constructors plaatsvindt. Vraag (open)

Context

De klasse ara::diag::DataTransferWriteSession kapselt alle varianten van schrijvende gegevensoverdrachten binnen het functionele domein Adaptive Platform Diagnostics ([SWS_DM_01555]) in. Ze fungeert als verbindend element tussen de diagnoseserver-instantie van het platform en de applicatiespecifieke implementaties die de daadwerkelijke schrijftransfer uitvoeren.

In het kader van diagnostische services zoals RequestFileTransfer (bijvoorbeeld bij de bedrijfsmodus ReplaceFile (0x03) conform [SWS_DM_01313]) neemt de diagnoseserver-instantie overdrachtsaanvragen in ontvangst. Komen in het verdere verloop diagnostische verzoeken van de UDS-service TransferData (0x36) binnen, dan delegeert de server deze naar de Write-methode van die handlerklasse die aan de betreffende DataTransferWriteSession is gebonden ([SWS_DM_01317]). Na overdracht van alle datablokken signaleert de service RequestTransferExit (0x37) de voltooiing, waarna de diagnoseserver-instantie de Exit-methode van de geregistreerde handler aanroept ([SWS_DM_01318]).

diag-context Server Diagnoseserver-Instanz Session ara::diag::DataTransferWriteSession Server->Session kapselt Schreibvarianten [SWS_DM_01555] Handler Handler-Klasse (Schreib-Handler) Server->Handler roept Write / Exit aan [SWS_DM_01317], [SWS_DM_01318] Session->Handler bindet Handler

Contextdiagram: samenspel tussen diagnoseserver, DataTransferWriteSession en applicatiespecifieke handlerklasse. Bronnen: [SWS_DM_01555], [SWS_DM_01317], [SWS_DM_01318].

Levenscyclus

De levenscyclus van een DataTransferWriteSession is onderworpen aan de voorschriften uit het headerbestand ara/diag/data_transfer.h ([SWS_DM_01339]). De standaardconstructie is expliciet verwijderd (DataTransferWriteSession() = delete, [SWS_DM_01339]). Een instantiëring vindt daarom vermoedelijk plaats via template-constructors waarmee specifieke handlerklassen aan het sessieobject worden gebonden (AUTOSAR_AP_SWS_Diagnostics §8.10 “Context of RequestFileTransfer”). Vraag Q-4575aa1e5d0889b3 (open)

Om een eenduidig eigenaarschap af te dwingen is DataTransferWriteSession noch kopieerbaar noch toewijsbaar via kopiëren: zowel de kopieerconstructor ([SWS_DM_01559]) als de kopieertoewijzingsoperator ([SWS_DM_01560]) zijn gedeclareerd als delete. Instanties bestaan bijgevolg als exclusieve unieke exemplaren.

Daarentegen ondersteunt de klasse volledige verplaatsingssemantiek: de verplaatsingsconstructor ([SWS_DM_01557]) en de verplaatsingstoewijzingsoperator ([SWS_DM_01558]) zijn gedeclareerd als standaardimplementatie en gespecificeerd als noexcept en uitzonderingsveilig (“exception safe”). Ze maken de efficiënte overdracht van de sessietoestand tussen programmacontexten mogelijk. De vernietiging vindt plaats via de uitzonderingsveilige standaarddestructor (~DataTransferWriteSession() noexcept = default, [SWS_DM_01556]). Wat betreft gelijktijdigheid zal het gebruik vermoedelijk primair sequentieel binnen de uitvoerende serverthread plaatsvinden, aangezien er geen synchronisatiemechanismen voor gelijktijdige toegang zijn gedocumenteerd. Vraag Q-2c2278884fa11b21 (open)

Gebruikspad

Het reguliere verloop van een schrijvende overdracht voltrekt zich in de volgende stappen:

  1. Initialisatie: Bij ontvangst van een schrijfverzoek (bijvoorbeeld RequestFileTransfer met kReplace conform [SWS_DM_01313]) wordt een DataTransferWriteSession opgezet. Hierbij wordt de applicatiespecifieke handler voor schrijfoperaties via template-constructors geregistreerd (AUTOSAR_AP_SWS_Diagnostics §8.10 “Context of RequestFileTransfer”).
  2. Gegevensoverdracht per blok: Voor elk binnenkomend verzoek van de UDS-dienst TransferData (0x36) roept de diagnoseserver-instantie de Write-methode van de geregistreerde handler-klasse aan ([SWS_DM_01317]). Deze stap wordt cyclisch herhaald voor alle blokken van de overdracht.
  3. Beëindiging van de sessie: Na de volledige overdracht ontvangt de diagnoseserver RequestTransferExit (0x37) en roept vervolgens de Exit-methode van de handler-klasse aan ([SWS_DM_01318]).
  4. Opschoning: Na succesvolle afronding of bij voortijdige afbreking wordt het sessie-object vernietigd ([SWS_DM_01556]).
Verloop van een schrijvende datatransmissieDiagnoseserverDataTransferWriteSessionHandler-KlasseErzeugung / RegistrierungloopTransferData (0x36)Write() [SWS_DM_01317]Status / bevestigingExit() bij RequestTransferExit (0x37) [SWS_DM_01318]Exit-bevestigingVernietiging (~DataTransferWriteSession) [SWS_DM_01556]

Sequentiediagram: Typisch verloop van een schrijvende gegevensoverdracht via de betrokken instanties. Bronnen: [SWS_DM_01317], [SWS_DM_01318], [SWS_DM_01556].

Foutscenario's

Foutafhandeling en betrouwbaarheid steunen bij ara::diag::DataTransferWriteSession in belangrijke mate op statische typeveiligheid en uitzonderingsveiligheid:

  • Vermijden van ongeldige objecttoestanden: Het verwijderen van de default-constructor ([SWS_DM_01339]) voorkomt dat er ongeïnitialiseerde sessie-objecten zonder gekoppelde handler kunnen bestaan. Het verbod op kopieeroperaties ([SWS_DM_01559], [SWS_DM_01560]) sluit inconsistente toestanden door meervoudig eigenaarschap reeds tijdens compilatietijd uit.
  • Uitzonderingsveiligheid bij verplaatsen en vernietigen: De declaratie van move-constructor ([SWS_DM_01557]), move-toewijzingsoperator ([SWS_DM_01558]) en destructor ([SWS_DM_01556]) als noexcept garandeert dat er bij overdrachten van resources en bij de afbouw van de sessie tijdens runtime geen uitzonderingen worden gegenereerd.
  • Voortijdige afbreking: Mocht een overdracht voortijdig mislukken, dan waarborgt de noexcept-destructor dat het sessie-object ook in het kader van exception-unwinding betrouwbaar kan worden opgeruimd ([SWS_DM_01556]).

Deze handleiding is gebaseerd op de specificatiedocumenten van AUTOSAR Adaptive Platform Release R25-11.

Ledenkaart

Klassendiagram

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

G nara__diag__DataTransferWriteSession996 DataTransferWriteSession + DataTransferWriteSession() + ~DataTransferWriteSession() + operator=()

Detailweergave

Kies een item in de inhoudsopgave.

Constructors en destructor

No default construction allowed.

Overloads DataTransferWriteSession 3
DataTransferWriteSession ()=delete; SWS_DM_01339
DataTransferWriteSession (DataTransferWriteSession &&other) noexcept=default; SWS_DM_01557
DataTransferWriteSession (DataTransferWriteSession const &)=delete; SWS_DM_01559

Destructs an instance of this class.

~DataTransferWriteSession () noexcept=default;

Operatoren

operator= functie 2

Move assigns an instance of this class.

Overloads = 2
auto operator= (DataTransferWriteSession &&other) & noexcept -> Data TransferWriteSession & =default; SWS_DM_01558
auto operator= (DataTransferWriteSession const &) -> DataTransferWrite Session &=delete; SWS_DM_01560

Documentatie van de methoden

functie DataTransferWriteSession [SWS_DM_01339] Upstream: RS_Diag_04135

DataTransferWriteSession ()=delete;

No default construction allowed.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01339
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01339@rel:R25-11#fbc9cfd9
Content hash
fbc9cfd9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01339
Status: valid/unmigrated Version: rel:R25-11#bb684435 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_01339@rel:R25-11#bb684435
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#df974f042026-09-30
  • R22-11rel:R22-11#05c5fa902026-10-14
  • R23-11rel:R23-11#d68056ea2026-10-14
  • R24-11rel:R24-11#bb6844352026-10-14
  • R25-11rel:R25-11#bb6844352026-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 DataTransferWriteSession [SWS_DM_01557] Upstream: RS_Diag_04135

DataTransferWriteSession (DataTransferWriteSession &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferWriteSession
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_01557
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01557@rel:R25-11#f0ea54a6
Content hash
f0ea54a6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01557
Status: valid/unmigrated Version: rel:R25-11#c06644f6 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_01557@rel:R25-11#c06644f6
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c6845d2b2026-09-30
  • R22-11rel:R22-11#561cac2d2026-10-14
  • R23-11rel:R23-11#e94010d52026-10-14
  • R24-11rel:R24-11#d442d2622026-10-14
  • R25-11rel:R25-11#c06644f62026-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 DataTransferWriteSession [SWS_DM_01559] Upstream: RS_Diag_04135

DataTransferWriteSession (DataTransferWriteSession const &)=delete;

DataTransferWriteSession shall be a single not copy-able instance.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01559
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01559@rel:R25-11#625060a0
Content hash
625060a0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01559
Status: valid/unmigrated Version: rel:R25-11#2bc05d20 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_01559@rel:R25-11#2bc05d20
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#b426deb12026-09-30
  • R22-11rel:R22-11#0786de092026-10-14
  • R23-11rel:R23-11#fedcdb6a2026-10-14
  • R24-11rel:R24-11#6b2b05782026-10-14
  • R25-11rel:R25-11#2bc05d202026-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_01558] Upstream: RS_Diag_04135

auto operator= (DataTransferWriteSession &&other) & noexcept -> Data TransferWriteSession & =default;

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferWriteSessionReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01558
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01558@rel:R25-11#fbf608a4
Content hash
fbf608a4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01558
Status: valid/unmigrated Version: rel:R25-11#98b7f297 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_01558@rel:R25-11#98b7f297
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#f08e32562026-09-30
  • R22-11rel:R22-11#9dc2babb2026-10-14
  • R23-11rel:R23-11#40e5e8552026-10-14
  • R24-11rel:R24-11#a9c2662c2026-10-14
  • R25-11rel:R25-11#98b7f2972026-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_01560] Upstream: RS_Diag_04135

auto operator= (DataTransferWriteSession const &) -> DataTransferWrite Session &=delete;

DataTransferWriteSession shall be a single not assignable instance.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01560
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01560@rel:R25-11#11a9d2f3
Content hash
11a9d2f3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01560
Status: valid/unmigrated Version: rel:R25-11#dcf22359 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_01560@rel:R25-11#dcf22359
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e3c6cc162026-09-30
  • R22-11rel:R22-11#56026dd62026-10-14
  • R23-11rel:R23-11#3b74c86b2026-10-14
  • R24-11rel:R24-11#dcf223592026-10-14
  • R25-11rel:R25-11#dcf223592026-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 ~DataTransferWriteSession [SWS_DM_01556] Upstream: RS_Diag_04135

~DataTransferWriteSession () noexcept=default;

Destructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01556
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01556@rel:R25-11#1fb0ccd7
Content hash
1fb0ccd7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01556
Status: valid/unmigrated Version: rel:R25-11#cfbf332f 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_01556@rel:R25-11#cfbf332f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#4df3679e2026-09-30
  • R22-11rel:R22-11#abce2ef62026-10-14
  • R23-11rel:R23-11#c58302302026-10-14
  • R24-11rel:R24-11#9b7407d22026-10-14
  • R25-11rel:R25-11#cfbf332f2026-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