DEENESPTFRRUARHIKOZHNL

فئة 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

دليل المستخدممولَّد بالذكاء الاصطناعي

يغلّف عمليات نقل بيانات التشخيص للكتابة وينسق تنفيذها عبر معالجات الكتابة.
مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6f5de6951762 المصدر أسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

يغلّف عمليات نقل بيانات التشخيص للكتابة وينسق تنفيذها عبر معالجات الكتابة.

تغلّف الفئة ara::diag::DataTransferWriteSession عمليات نقل بيانات التشخيص للكتابة وتنسق إعادة توجيهها إلى معالجات الكتابة الخاصة بالتطبيق ([SWS_DM_01555]). وعند ورود خدمات UDS مثل TransferData (0x36) أو RequestTransferExit (0x37)، يستدعي كائن خادم التشخيص دالتي Write أو Exit المعنيتين للمعالجات المسجلة ([SWS_DM_01317]). ونظراً لحذف المنشئ الافتراضي ومنشئ النسخ، فإن الجلسة تتواجد كنسخة فردية آمنة ضد الاستثناءات، ويتم إنشاؤها على الأرجح عبر منشئات القوالب. سؤال (مفتوح)

السياق

تغلّف الفئة ara::diag::DataTransferWriteSession كافة متغيرات عمليات نقل البيانات للكتابة ضمن المجال الوظيفي Adaptive Platform Diagnostics ([SWS_DM_01555]). وهي تعمل كعنصر رابط بين كائن خادم التشخيص للمنصة والتنفيذات الخاصة بالتطبيق التي تنفذ عملية نقل الكتابة الفعلية.

في إطار خدمات التشخيص مثل RequestFileTransfer (على سبيل المثال في وضع التشغيل ReplaceFile (0x03) وفقاً لـ [SWS_DM_01313])، يتلقى كائن خادم التشخيص طلبات النقل. وإذا وردت في المسار اللاحق متطلبات تشخيصية لخدمة UDS المعنونة TransferData (0x36)، يفوض الخادم هذه المتطلبات إلى الدالة Write التابعة لفئة المعالج المرتبطة بـ DataTransferWriteSession المعنية ([SWS_DM_01317]). وبعد نقل جميع كتل البيانات، تشير الخدمة RequestTransferExit (0x37) إلى الانتهاء، وعندئذ يستدعي كائن خادم التشخيص الدالة Exit للمعالج المسجل ([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 يستدعي Write / Exit [SWS_DM_01317]، [SWS_DM_01318] Session->Handler bindet Handler

مخطط السياق: التفاعل بين خادم التشخيص، و DataTransferWriteSession، وفئة المعالج الخاصة بالتطبيق. المصادر: [SWS_DM_01555]، [SWS_DM_01317]، [SWS_DM_01318].

دورة الحياة

تخضع دورة حياة DataTransferWriteSession للمتطلبات الواردة في ملف الرأس ara/diag/data_transfer.h ([SWS_DM_01339]). وقد تم حذف المنشئ الافتراضي صراحةً (DataTransferWriteSession() = delete، [SWS_DM_01339]). وبالتالي، يتم إنشاء النسخ على الأرجح عبر منشئات القوالب، التي تُربط من خلالها فئات المعالجات المحددة بكائن الجلسة (AUTOSAR_AP_SWS_Diagnostics §8.10 «Context of RequestFileTransfer»). سؤال Q-4575aa1e5d0889b3 (مفتوح)

لفرض ملكية فريدة، فإن DataTransferWriteSession غير قابلة للنسخ ولا لتعيين النسخ: تم التصريح عن كل من منشئ النسخ ([SWS_DM_01559]) وعامل تعيين النسخ ([SWS_DM_01560]) كـ delete. وبالتالي توجد النسخ كعينات فردية حصرية.

في المقابل، تدعم الفئة دلالات النقل الكاملة: تم التصريح عن منشئ النقل ([SWS_DM_01557]) وعامل تعيين النقل ([SWS_DM_01558]) كتنفيذ افتراضي وحُددا كـ noexcept وآمنين ضد الاستثناءات («exception safe»). وهما يسمحان بالنقل الفعال لحالة الجلسة بين سياقات البرنامج. ويتم الإتلاف عبر المدمر الافتراضي الآمن ضد الاستثناءات (~DataTransferWriteSession() noexcept = default، [SWS_DM_01556]). وفيما يتعلق بالتزامن، فمن المرجح أن يكون الاستخدام متسلسلاً في المقام الأول داخل خيط الخادم المنفذ، نظراً لعدم توثيق أي آليات مزامنة لعمليات الوصول المتزامنة. سؤال Q-2c2278884fa11b21 (مفتوح)

مسار الاستخدام

يتم المسار المعتاد لعملية نقل الكتابة من خلال الخطوات التالية:

  1. التهيئة: عند استلام طلب كتابة (على سبيل المثال RequestFileTransfer مع kReplace وفقاً لـ [SWS_DM_01313])، يتم إعداد DataTransferWriteSession. وهنا يُسجَّل المعالج المخصص للتطبيق لعمليات الكتابة عبر منشئات القوالب (AUTOSAR_AP_SWS_Diagnostics §8.10 «Context of RequestFileTransfer»).
  2. نقل كتلة البيانات: لكل طلب وارد لخدمة UDS المعنونة TransferData (0x36)، يستدعي كائن خادم التشخيص الدالة Write لفئة المعالج المسجلة ([SWS_DM_01317]). وتتكرر هذه الخطوة دورياً لجميع كتل النقل.
  3. إنهاء الجلسة: بعد اكتمال النقل، يستلم خادم التشخيص RequestTransferExit (0x37) ويستدعي بعد ذلك الدالة Exit لفئة المعالج ([SWS_DM_01318]).
  4. التنظيف: بعد الانتهاء بنجاح أو عند الإلغاء المبكر، يتم إتلاف كائن الجلسة ([SWS_DM_01556]).
سير عملية نقل بيانات الكتابةDiagnoseserverDataTransferWriteSessionHandler-KlasseErzeugung / RegistrierungloopTransferData (0x36)Write() [SWS_DM_01317]الحالة / التأكيدExit() عند RequestTransferExit (0x37) [SWS_DM_01318]تأكيد الخروجالتدمير (~DataTransferWriteSession) [SWS_DM_01556]

مخطط التتابع: المسار النموذجي لعملية نقل بيانات للكتابة عبر الكيانات المشاركة. المصادر: [SWS_DM_01317]، [SWS_DM_01318]، [SWS_DM_01556].

سيناريوهات الأخطاء

تعتمد معالجة الأخطاء والموثوقية في ara::diag::DataTransferWriteSession بشكل حاسم على أمان الأنواع الثابت والأمان ضد الاستثناءات:

  • تجنب حالات الكائنات غير الصالحة: يمنع حذف المنشئ الافتراضي ([SWS_DM_01339]) إمكانية وجود كائنات جلسة غير مهيأة بدون معالج مرتبط. كما يستبعد حظر عمليات النسخ ([SWS_DM_01559]، [SWS_DM_01560]) الحالات غير المتسقة الناتجة عن تعدد الملكيات بالفعل في وقت الترجمة.
  • الأمان ضد الاستثناءات أثناء النقل والإتلاف: يضمن التصريح عن منشئ النقل ([SWS_DM_01557])، وتعيين النقل ([SWS_DM_01558])، والمدمر ([SWS_DM_01556]) كـ noexcept عدم إطلاق أي استثناءات أثناء تسليم الموارد وتفكيك الجلسة أثناء وقت التشغيل.
  • الإلغاء المبكر: إذا فشلت عملية نقل مبكراً، يضمن مدمر noexcept إمكانية تنظيف كائن الجلسة بشكل موثوق حتى في سياق تراجع مكدس الاستثناءات (Exception Unwinding) ([SWS_DM_01556]).

يستند هذا الدليل إلى وثائق مواصفات إصدار AUTOSAR Adaptive Platform R25-11.

خريطة الأعضاء

المُنشئات والمُتلف

2

المعاملات

1

مخطط الفئة

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

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

عرض التفاصيل

اختر عنصرًا من المخطط.

المُنشئات والمُتلف

No default construction allowed.

التحميلات الزائدة 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;

المعاملات

operator= دالة 2

Move assigns an instance of this class.

التحميلات الزائدة = 2
auto operator= (DataTransferWriteSession &&other) & noexcept -> Data TransferWriteSession & =default; SWS_DM_01558
auto operator= (DataTransferWriteSession const &) -> DataTransferWrite Session &=delete; SWS_DM_01560

توثيق الدوال

دالة 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#a6e90aa9
Content hash
a6e90aa9
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

دالة 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#5a331335
Content hash
5a331335
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

دالة 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#6b67177f
Content hash
6b67177f
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

دالة 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#bc78c6be
Content hash
bc78c6be
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

دالة 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#3d71bd8f
Content hash
3d71bd8f
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

دالة ~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#db2a24bd
Content hash
db2a24bd
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