DEENESPTFRRUARHIKOZHNL

بنية ara::diag::FileTransferService::FileSizes

[SWS_DM_01321] Upstream: RS_Diag_04135

struct FileSizes {...};

Definition of total file sizes.

Header-Datei#include "ara/diag/file_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::FileTransferService

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

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

يُستخدم لتغليف أحجام الملفات المضغوطة وغير المضغوطة بالبايت في خدمات نقل الملفات.

تُستخدم البنية ara::diag::FileTransferService::FileSizes ككائن قيمة معياري لتغليف معلومات أحجام الملفات داخل وحدة Diagnostics الخاصة بـ AUTOSAR Adaptive Platform [SWS_DM_01321]. حيث تجمع حجم البايت غير المضغوط وكذلك المضغوط لملف في متغيرين صحيحين عامين بسعة 64 بت لإعداد ومراقبة عمليات النقل [SWS_DM_01322]. وباعتبارها مجموعة بيانات خاملة، لا تمتلك البنية دوالاً خاصة بها ولا آليات معالجة أخطاء داخلية، بحيث يجب ضمان التحقق من معقولية القيم الممررة وأمان الخيوط من قِبل المكونات المستدعية.

السياق

تعد البنية ara::diag::FileTransferService::FileSizes جزءًا لا يتجزأ من وحدة Diagnostics (diag) في AUTOSAR Adaptive Platform [SWS_DM_01321]. وضمن نطاق أسماء الخدمة ذات المستوى الأعلى ara::diag::FileTransferService، تحدد نموذج بيانات مدمج لتمثيل معلومات أحجام الملفات الكاملة AUTOSAR_AP_SWS_Diagnostics §8.18.2 «Struct: FileSizes». ويتم التصريح عن النوع عبر ملف الرأس ara/diag/file_transfer.h [SWS_DM_01322]. وتتمثل مسؤوليتها الأساسية في تجميع معلومات الحجم ذات الصلة بعمليات نقل الملفات في بنية بيانات موحدة، مما يتيح لمكونات المنصة والتطبيق المتفاعلة تبادل أحجام الملفات بشكل متسق AUTOSAR_AP_SWS_Diagnostics ص. 1126.

من الناحية الوظيفية، تسجل بنية البيانات قيمتي حجم متميزتين: الحجم الإجمالي غير المضغوط لملف عبر العنصر uncompressed_size [SWS_DM_01322]، والحجم الإجمالي المضغوط عبر العنصر compressed_size [SWS_DM_01323]. وتُحفظ كلتا القيمتين كأعداد صحيحة غير موقعة بسعة 64 بت (std::uint64_t) بوحدة قياس البايت. وبذلك تعمل FileSizes كحامل معلومات دلالي بين عملاء التشخيص، وDiagnostic Management، وموفري الخدمات الفعليين الذين ينفذون عمليات نقل الملفات على المنصة التكيفية.

دورة الحياة

تمت نمذجة البنية ara::diag::FileTransferService::FileSizes ككائن بيانات صرف (Value Object) دون دوال افتراضية خاصة به أو تسلسلات هرمية معقدة للتوارث AUTOSAR_AP_SWS_Diagnostics §8.18.2.1 «Public Member Variables». ويتم الإنشاء نمطيًا مباشرة على مكدس الاستدعاء أو كعضو في بنية بيانات ذات مستوى أعلى. وبما أنها لا تتضمن سوى أنواع أعداد صحيحة قياسية، فمن المفترض أن تكون البنية قابلة للنسخ والنقل افتراضيًا ولا تتطلب إدارة ذاكرة ديناميكية على الذاكرة المكدسة (Heap). سؤال Q-f9c6e76fc8c62463 (مفتوح)

تعتمد علاقات الملكية على سياق الاستخدام المعني: إذا تم إنشاء حالة بواسطة تطبيق تشخيص، تظل الملكية لدى هذا التطبيق أو تنتقل عبر التمرير بالقيمة (Pass-by-Value) إلى دوال الواجهة المستدعاة. وإتلاف الحالة أمر بديهي ويتم تلقائيًا بمجرد مغادرة النطاق (Scope) دون الحاجة إلى منطق تنظيف إضافي. ونظرًا لأن النوع لا يوفر آليات مزامنة داخلية، فإن الاستخدام المنسق والآمن للخيوط عند الوصول المتزامن إلى نفس الحالة يقع على الأرجح بالكامل على عاتق مكونات التشخيص أو التطبيق المشاركة. سؤال Q-d2e83f9098c7f8c8 (مفتوح)

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

ينقسم الاستخدام النمطي للبنية إلى مراحل التهيئة، وتعيين المعلمات، والتمرير إلى روتينات النقل الخاصة بـ FileTransferService [SWS_DM_01321]. وفي حالة استخدام نمطية، يحدد المكون المرسل الأبعاد الفعلية للملف على نظام الملفات أو في الذاكرة قبل بدء نقل الملف. بعد ذلك، يقوم بإنشاء كائن من FileSizes ويعين قيم البايت المقاسة للمتغيرين العامين:

  • uncompressed_size: يحدد الحجم المطلق للملف الأصلي بالبايت [SWS_DM_01322].
  • compressed_size: يحدد الحجم المضغوط لدفق البيانات المراد نقله بالبايت [SWS_DM_01323].

إذا تم نقل ملف دون ضغط مسبق، فمن المفترض أن يحمل compressed_size وuncompressed_size قيمًا متطابقة. سؤال Q-1edcb924fd5932ee (مفتوح) وبعد التهيئة، يتم تمرير البنية إلى الدوال المناسبة لنقل الملفات لتمكين الأطراف المقابلة من تخصيص متطلبات الذاكرة مسبقًا ومراقبة تقدم النقل بدقة AUTOSAR_AP_SWS_Diagnostics ص. 77.

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

لا توجد رموز أخطاء تشخيصية أو قيم إرجاع أو استثناءات خاصة محددة في مواصفة ara::diag::FileTransferService::FileSizes AUTOSAR_AP_SWS_Diagnostics §8.18.2 «Struct: FileSizes». وباعتبارها نوع بيانات خامل، لا تطلق البنية نفسها رسائل خطأ ولا تتحقق من صحة القيم المدخلة في وقت التشغيل.

تنشأ احتمالات الخطأ بشكل أساسي من الشروط المسبقة واللاحقة غير الصحيحة عند ملء المعلمات. وبفضل النوع std::uint64_t، يمكن تمثيل قيم تصل إلى $2^{64}-1$ بايت [SWS_DM_01322]، [SWS_DM_01323]. وإذا قام أحد المكونات بتمرير أحجام غير منطقية — على سبيل المثال، قيمة صفر بايت لملفات موجودة أو حجم مضغوط يتجاوز بشكل كبير وبدون تفسير منطقي الحجم غير المضغوط —، فيجب معالجة ذلك من خلال منطق المعالجة السابق أو اللاحق لـ FileTransferService. كما يشكل تجاوز سعة ذاكرة الوجهة المتاحة سيناريو خطأ عالي المستوى يجب اكتشافه استنادًا إلى قيم البايت المنقولة في FileSizes قبل بدء نقل البيانات.

يستند دليل الفئات هذا إلى مواصفة AUTOSAR Adaptive Platform R25-11 (الوحدة diag) وتم إعداده لـ autodocs.

مخطط الفئات UML

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

G nara__diag__FileTransferService__FileSizes857 «struct» FileSizes + compressed_size + uncompressed_size

الثوابت

compressed_size متغير

Specifies the compressed file size in bytes.

std::uint64_t compressed_size;

Specifies the uncompressed file size in bytes.

std::uint64_t uncompressed_size;

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

متغير compressed_size [SWS_DM_01323] Upstream: RS_Diag_04135

std::uint64_t compressed_size;

Specifies the compressed file size in bytes.

Header-Datei#include "ara/diag/file_transfer.h"
Scopestruct ara::diag::FileTransferService::FileSizes
Symbolcompressed_size
Typstd::uint64_t

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

Record
AUTOSAR/AP/record/SWS_DM_01323
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01323@rel:R25-11#e0c891a5
Content hash
e0c891a5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01323
Status: valid/unmigrated Version: rel:R25-11#6febc963 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_01323@rel:R25-11#6febc963
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e096074a2026-09-30
  • R22-11rel:R22-11#4f01daa22026-10-14
  • R23-11rel:R23-11#7011a9a42026-10-14
  • R24-11rel:R24-11#7011a9a42026-10-14
  • R25-11rel:R25-11#6febc9632026-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

متغير uncompressed_size [SWS_DM_01322] Upstream: RS_Diag_04135

std::uint64_t uncompressed_size;

Specifies the uncompressed file size in bytes.

Header-Datei#include "ara/diag/file_transfer.h"
Scopestruct ara::diag::FileTransferService::FileSizes
Symboluncompressed_size
Typstd::uint64_t

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

Record
AUTOSAR/AP/record/SWS_DM_01322
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01322@rel:R25-11#9888905c
Content hash
9888905c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01322
Status: valid/unmigrated Version: rel:R25-11#803a2562 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_01322@rel:R25-11#803a2562
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e266e40a2026-09-30
  • R22-11rel:R22-11#3c01ce6e2026-10-14
  • R23-11rel:R23-11#e0a2616f2026-10-14
  • R24-11rel:R24-11#e0a2616f2026-10-14
  • R25-11rel:R25-11#803a25622026-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