يغلف بيانات التحكم وحقول الترويسة لمخططات بيانات IEEE-1722-NTSCF للمعالجة في تدفقات البيانات الخام.
السياق
تمثل الفئة ara::rds::IEEE1722DatagramNTSCF ضمن وحدة AUTOSAR Adaptive المسماة rds (Raw Data Stream) وفقًا لـ SWS RawDataStream «Specification of Raw Data Stream» بنية مخطط بيانات IEEE 1722 بتنسيق NTSCF (Non-Time-Synchronous Control Format). تجمع الفئة حقول البروتوكول المحددة لتبادل تدفقات بيانات التحكم والبيانات المفيدة غير الحساسة زمنيًا. ويعلن ملف الترويسة #include "ara/rds/raw_data_stream_IEEE1722.h" عن الفئة في مساحة الاسم ara::rds. وتشمل المكونات المحددة معرّف التدفق الفريد unique_id [SWS_RDS_90309]، ورقم التسلسل sequenceNum [SWS_RDS_90307]، بالإضافة إلى معلومات الطول والعنوان ntscf_data_length وmac_address [SWS_RDS_90306]، [SWS_RDS_90308].
من الملاحظ أن جميع عناصر البيانات تتمتع بمستوى حماية الوصول protected. وتفسيرًا لذلك، يمكن استنتاج أن الفئة تعمل كفئة أساسية جوهرية لبنى مخططات البيانات المشتقة الخاصة بالبروتوكول، ويُفترض أنها ليست مخصصة لإنشاء مثيلات مباشرة منها بواسطة منطق التطبيق العادي. سؤال Q-10e9faa973973eda (مفتوح)
دورة الحياة
صُممت دورة حياة ara::rds::IEEE1722DatagramNTSCF للتشغيل الآمن في التسلسلات الهرمية للوراثة الموجهة للكائنات. والعنصر المركزي هو المُدمِّر الافتراضي ~IEEE1722DatagramNTSCF() noexcept وفقًا لـ [SWS_RDS_90310]. تضمن الافتراضية أنه عند تدمير مثيل مشتق عبر مؤشر إلى الفئة الأساسية، تُنفَّذ سلسلة المُدمِّرات بشكل كامل وصحيح.
يؤكد الإعلان باستخدام noexcept [SWS_RDS_90310] أن تدمير الكائن لا يطلق استثناءات تحت أي ظرف. ويتوافق ذلك مع المتطلبات الأساسية لإدارة الموارد الحديثة في C++، ويضمن أمان الاستثناء في حالة الخطأ.
لا تُذكر دالات بناء عامة في نطاق المواصفة. وبالتالي، من المرجح أن يتم إنشاء الكائن إما عبر فئات مشتقة في إطار تهيئتها أو عبر آليات إنشاء داخلية لوحدة Raw Data Stream. سؤال Q-4a0e75e3e565d2d5 (مفتوح) لا تمتلك الفئة حالات ثابتة أو آلة حالة داخلية؛ ويظل الكائن منذ إنشائه حتى تدميره في حالة متسقة كحامل للمعلومات.
مسار الاستخدام
يتم استخدام الفئة عادةً في سياق معالجة تدفقات بيانات التحكم وفقًا لـ IEEE 1722. وتستخدم الفئات المشتقة أو مكونات إطار عمل تدفق البيانات الخام السمات المحمية لإجراء التسلسل أو إلغاء التسلسل للحزم المنقولة. عُرّفت السمات كأنواع أعداد صحيحة أولية أو كـ ara::core::Optional. وتتوزع سلسلة المعالجة النموذجية على الخطوات التالية:
- تحديد هوية تدفق البيانات: استنادًا إلى
unique_id [SWS_RDS_90309]، يتم التحقق من تدفق البيانات المنطقي الذي ينتمي إليه مخطط البيانات.
- التحقق من الترتيب: عبر رقم التسلسل
sequenceNum [SWS_RDS_90307]، يمكن تحديد ما إذا كانت الحزم قد وصلت بالترتيب المتوقع أم أن هناك فقدانًا.
- تقييم الطول والعنوان: عبر الحقول
ntscf_data_length وmac_address [SWS_RDS_90306]، [SWS_RDS_90308] يتم تحديد حجم البيانات المفيدة وتقييم عنوان الوجهة أو المصدر.
بعد تقييم البيانات المفيدة، ينتهي مسار الاستخدام بتحرير المثيل عبر المُدمِّر الافتراضي [SWS_RDS_90310].
سيناريوهات الأخطاء
نظرًا لطبيعة ara::rds::IEEE1722DatagramNTSCF كبنية بيانات وفئة أساسية، فإن الأخطاء لا تظهر في صورة رموز إرجاع للدوال، بل تتعلق بالشروط المسبقة عند الوصول إلى البيانات والتدمير:
- الوصول غير المفحوص إلى الحقول الاختيارية: السمات مثل
sequenceNum [SWS_RDS_90307] وunique_id [SWS_RDS_90309] معلنة كـ ara::core::Optional. والوصول إليها دون فحص مسبق باستخدام has_value() يؤدي في حالة الحزم غير المكتملة إلى أخطاء وقت التشغيل أو سلوك غير محدد.
- انتهاك ضمان noexcept في المُدمِّر: بما أن المُدمِّر محدد باستخدام
noexcept [SWS_RDS_90310]، فإن أي استثناء يُطلق أثناء التنظيف في الفئات المشتقة ولا تتم معالجته محليًا يؤدي إلى إنهاء فوري للبرنامج عبر std::terminate.
- بيانات الطول غير المتسقة: إذا كانت قيمة
ntscf_data_length [SWS_RDS_90306]، [SWS_RDS_90308] لا تتطابق مع الحجم الفعلي للمخزن المؤقت لبرنامج تشغيل الشبكة، فقد يحدث فيضان في المخزن المؤقت أو قراءة غير مكتملة أثناء معالجة البيانات.
يستند دليل الفئات هذا إلى مواصفة AUTOSAR AP R25-11 للوحدة Raw Data Stream (rds) وقد أُنشئ آليًا.
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني