يُغلف عمليات نقل القراءة النشطة المدعومة بالتشخيص ويُعيد توجيه عمليات نقل البيانات الواردة إلى المعالجات المسجلة.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 9db606b147f6المصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يُغلف عمليات نقل القراءة النشطة المدعومة بالتشخيص ويُعيد توجيه عمليات نقل البيانات الواردة إلى المعالجات المسجلة.
تُستخدم الفئة لتغليف وإدارة كافة متغيرات عمليات نقل القراءة المستندة إلى التشخيص بشكل منظم داخل وحدة تشخيص AUTOSAR التكيفية وفقًا لـ [SWS_DM_01548]. بعد بدء عملية القراءة بنجاح، تُفوض نسخة خادم التشخيص الطلبات الواردة لنقل كتل البيانات المتسلسلة وكذلك لإتمام الجلسة إلى الطرق المسجلة لمعالج القراءة [SWS_DM_01317]. ومن خلال التعطيل المستهدف لعمليات النسخ مع الدعم المتزامن لدلالات النقل (Move semantics)، تضمن الفئة تخصيصًا فريدًا لملكية جلسة النقل الأساسية.
السياق
تُمثل الفئة ara::diag::DataTransferReadSession تغليفًا لجميع متغيرات القراءة المدعومة بالتشخيص لكتل البيانات في وحدة التشخيص التكيفية [SWS_DM_01548]. وفي إطار خدمات UDS القياسية مثل RequestFileTransfer (0x38) وTransferData (0x36) وRequestTransferExit (0x37)، تعمل فئة الجلسة كحلقة وصل بين بيئة وقت التشغيل الداخلية لخادم التشخيص ومعالجات القراءة الخاصة بالتطبيق SWS Diagnostics §7 «Realization of TransferData and RequestTransferExit». وتضمن إدارة عمليات القراءة الجارية – مثل الملفات عبر ReadFile[SWS_DM_01314] أو الأدلة عبر ReadDir[SWS_DM_01315] – بشكل معزول وتمريرها إلى المعالجات التابعة لها.
لاستبعاد التعيينات المتعددة أو حالات الجلسة غير المتسقة، تم تصميم 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 (مفتوح)
مسار الاستخدام
ينقسم المسار النموذجي لجلسة نقل القراءة إلى ثلاث مراحل متتالية:
التهيئة: يُرسل عميل تشخيص خارجي RequestFileTransfer مع وضع قراءة مثل ReadFile (0x04) [SWS_DM_01314] أو ReadDir (0x05) [SWS_DM_01315]. يتم هنا إنشاء نسخة الجلسة وتسجيل معالج القراءة.
نقل البيانات: يُعالج خادم التشخيص طلبات التشخيص الواردة من النوع TransferData (0x36) من خلال استدعاء طريقة Read المقابلة للمعالج المسجل عبر منشئات القوالب [SWS_DM_01317]. ويتم ذلك بشكل تكراري لكل كتلة بيانات مطلوبة.
الإتمام: بمجرد نقل جميع البيانات، يُرسل العميل RequestTransferExit (0x37). يستدعي خادم التشخيص عندئذٍ طريقة Exit للمعالج المسجل لإنهاء عملية القراءة بشكل سليم [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.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني