يغلّف عمليات نقل بيانات التشخيص للكتابة وينسق تنفيذها عبر معالجات الكتابة.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: 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]).
لفرض ملكية فريدة، فإن 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 (مفتوح)
مسار الاستخدام
يتم المسار المعتاد لعملية نقل الكتابة من خلال الخطوات التالية:
نقل كتلة البيانات: لكل طلب وارد لخدمة UDS المعنونة TransferData (0x36)، يستدعي كائن خادم التشخيص الدالة Write لفئة المعالج المسجلة ([SWS_DM_01317]). وتتكرر هذه الخطوة دورياً لجميع كتل النقل.
إنهاء الجلسة: بعد اكتمال النقل، يستلم خادم التشخيص RequestTransferExit (0x37) ويستدعي بعد ذلك الدالة Exit لفئة المعالج ([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.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني