DEENESPTFRRUARHIKOZHNL

بنية ara::tsync::UserData

[SWS_TS_14230] Upstream: RS_TS_00014 لم يُستورد النص بعد

struct UserData {...};

Structure to define user data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Forwarding-Header#include "ara/tsync/tsync_fwd.h"
Scopenamespace ara::tsync

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

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

يوفر مخزنًا مؤقتًا لنقل بيانات حمولة صغيرة خاصة بالتطبيق للقواعد الزمنية المتزامنة.

تُستخدم البنية ara::tsync::UserData لنقل بيانات حمولة مدمجة خاصة بالتطبيق في سياق القواعد الزمنية المتزامنة. وتدير مخزنًا مؤقتًا ثابتًا بحد أقصى غير قابل للتغيير يبلغ ثلاثة بايتات، محدد عبر kMaxUserDataSize [SWS_TS_14231]. تكتب التطبيقات بيانات الحمولة في المصفوفة وتحدد عدد البايتات الصالحة فعليًا عبر الحقل size [SWS_TS_14232]. وكقيد محدد رئيسي، يجب على منطق البرنامج التطبيقي التأكد من أن size لا يتجاوز السعة القصوى المحددة أبدًا وتجنب عمليات الوصول إلى مناطق المخزن المؤقت غير المهيأة.

السياق

تُستخدم بنية البيانات ara::tsync::UserData ضمن المجموعة الوظيفية لمزامنة الوقت (tsync) في AUTOSAR Adaptive Platform لتغليف بيانات الحمولة الخاصة بالتطبيق في سياق القواعد الزمنية المتزامنة. تم التصريح عن البنية في ملف الترويسة ara/tsync/synchronized_time_base_status.h. وتتمثل مسؤوليتها الأساسية في توفير مساحة تخزين مدمجة وذات أبعاد ثابتة للبيانات الإضافية التطبيقية التي يتم نقلها أو تقييمها مع معلومات الوقت. الحجم الأقصى لبيانات الحمولة هذه محدد بالثابت الإستاتيكي kMaxUserDataSize بثلاثة بايتات بالضبط [SWS_TS_14231]. ولتخزين بايتات الحمولة الفعلية مؤقتًا، تُستخدم المصفوفة data من النوع ara::core::Array<ara::core::Byte, kMaxUserDataSize> [SWS_TS_14233]. ويُكمَّل هذا المخزن المؤقت بالحقل size، الذي يحدد عدد بايتات بيانات الحمولة الصالحة فعليًا في المخزن المؤقت [SWS_TS_14232]. تفسير: استنادًا إلى موقع التعريف في الترويسة ara/tsync/synchronized_time_base_status.h، يُرجح أن يُستخدم UserData أساسًا كحقل حالة لنقل معلومات إضافية صغيرة متعلقة بالتطبيق مثل أعلام التحكم أو العدادات. سؤال Q-a0fb20686141f042 (مفتوح) وكأطراف تفاعل، تظهر عادةً خدمات توفير الوقت والتطبيقات المستقبِلة التي تستعلم عن حالة قاعدة زمنية متزامنة أو تُمررها.

دورة الحياة

باعتبارها بنية C++ عادية (كائن قيمة)، لا تمتلك UserData دورة حياة داخلية معقدة وتستغني تمامًا عن تخصيصات الذاكرة الديناميكية. تنشأ النسخ عادةً على مكدس الذاكرة (Stack) أو كعنصر بيانات مدمج في بنيات الحالة الأعلى مستوى. يتم التهيئة مباشرةً عبر تهيئة العناصر أو الإسناد القياسي في C++. وفيما يتعلق بملكية البيانات، تخضع البنية لدلالات القيمة (Value Semantics): تمتلك المكونات المنشئة نسختها المحلية بالكامل وتمررها عبر النسخ أو كمرجع إلى الواجهات. ونظرًا لأن UserData لا تطبق آليات مزامنة داخلية أو أقفال كائن المزامنة (Mutex)، فإن الوصول المتزامن للقراءة والكتابة من خيوط متعددة إلى نفس النسخة ليس آمنًا من حيث الخيوط. يجب على التطبيقات تأمين عمليات الوصول المتزامنة عبر تدابير مزامنة خارجية، بينما يمكن استخدام النسخ المستقلة عن بعضها بأمان في السياقات المتزامنة. لا يتطلب التدمير أي تنظيف صريح للموارد، لأن حقل البيانات المتضمن data [SWS_TS_14233] محجوز بشكل إستاتيكي.

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

يتضمن مسار الاستخدام النموذجي ملء مخزن البيانات المؤقت وتمريره وتقييمه. في البداية، يُنشئ مكوّن مُرسِل أو موفِّر للحالة نسخة من UserData. بعد ذلك، يتم نسخ بيانات الحمولة إلى المصفوفة data، حيث يُسمح كحد أقصى بشغل kMaxUserDataSize بايت [SWS_TS_14231]، [SWS_TS_14233]. بعد ذلك مباشرة، يضبط المكون الحقل size على العدد الفعلي للبايتات المكتوبة [SWS_TS_14232]. وفي جانب المستقبِل، يتحقق التطبيق المعالِج أولاً من قيمة size [SWS_TS_14232]. وإذا كانت size أكبر من الصفر، يقرأ التطبيق بدقة هذه البادئة الصالحة من المخزن المؤقت data [SWS_TS_14233]. يتم تجاهل القيم الخارجة عن هذا النطاق، أي بدءًا من الفهرس size حتى kMaxUserDataSize - 1، نظرًا لأنها قد تحتوي على بيانات متبقية غير معرفة أو قديمة.

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

تنتج حالات الخطأ في UserData أساسًا عن عدم الاتساق بين تحديد الحجم وسعة المخزن المؤقت. إذا اتخذ الحقل size قيمة تتجاوز الحجم الأقصى المحدد kMaxUserDataSize البالغ ثلاثة بايتات [SWS_TS_14231]، فسيحدث انتهاك لحدود المواصفة. في مثل هذه الحالة، هناك خطر حدوث فيض في المخزن المؤقت أو وصول خارج حدود المصفوفة المحددة عند القراءة التكرارية لـ data [SWS_TS_14233]. ويتمثل خطر إضافي في القراءة الخاطئة لـ data عندما تكون size مساوية للصفر [SWS_TS_14232]، نظرًا لعدم توفر بيانات حمولة صالحة في هذه الحالة. لا تُنشأ رموز الخطأ أو الاستثناءات بواسطة البنية نفسها؛ وبالتالي يقع التحقق من الشروط المسبقة — وخاصة size <= kMaxUserDataSize — بالكامل على عاتق منطق البرنامج المُطبِّق.

يستند هذا الدليل إلى مواصفة AUTOSAR Adaptive R25-11. تستند جميع البيانات إلى متطلبات SWS المُشار إليها.

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

مخطط الفئة

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

G nara__tsync__UserData398 «struct» UserData + data + kMaxUserDataSize + size

عرض التفاصيل

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

الثوابت

data متغير

User data buffer (maximum size: kMaxUserDataSize). .

kMaxUserDataSize متغير

Maximum number of user data bytes. .

static constexpr std::size_t kMaxUserDataSize = 3u;
size متغير

Number of valid user data bytes in data. .

توثيق الثوابت / المتغيرات

متغير data [SWS_TS_14233] Upstream: RS_TS_00014 لم يُستورد النص بعد

ara::core::Array<ara::core::Byte, kMaxUserDataSize> data;

User data buffer (maximum size: kMaxUserDataSize). .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symboldata
Typara::core::Array< ara::core::Byte, kMaxUserDataSize >

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

Record
AUTOSAR/AP/record/SWS_TS_14233
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14233@rel:R25-11#fc386032
Content hash
fc386032
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14233
Status: valid/unmigrated Version: rel:R25-11#1f27c5a4 Versionshistorie & Revisions (1 transition)
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_TS_14233@rel:R25-11#1f27c5a4
Point-in-Time History:
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

متغير kMaxUserDataSize [SWS_TS_14231] Upstream: RS_TS_00014 لم يُستورد النص بعد

static constexpr std::size_t kMaxUserDataSize = 3u;

Maximum number of user data bytes. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
SymbolkMaxUserDataSize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14231
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14231@rel:R25-11#506be0b1
Content hash
506be0b1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14231
Status: valid/unmigrated Version: rel:R25-11#df87c9f1 Versionshistorie & Revisions (1 transition)
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_TS_14231@rel:R25-11#df87c9f1
Point-in-Time History:
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

متغير size [SWS_TS_14232] Upstream: RS_TS_00014 لم يُستورد النص بعد

std::size_t size;

Number of valid user data bytes in data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symbolsize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14232
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14232@rel:R25-11#148fae47
Content hash
148fae47
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14232
Status: valid/unmigrated Version: rel:R25-11#ddf624eb Versionshistorie & Revisions (1 transition)
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_TS_14232@rel:R25-11#ddf624eb
Point-in-Time History:
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