DEENESPTFRRUARHIKOZHNL

نطاق أسماء ara::per

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

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

يتيح التخزين الدائم لبيانات التطبيق وإدارتها عبر مخازن المفتاح والقيمة ومخازن الملفات.

يوفر فضاء التسمية ara::per واجهات للتخزين الدائم للبيانات من خلال تمكين التطبيقات التكيفية من الوصول إلى نطاقات التخزين القائمة على الملفات وتلك القائمة على المفتاح والقيمة عبر معرّفات المثيلات ([SWS_PER_00052]، [SWS_PER_00116]). وتدير التطبيقات المخازن المفتوحة عبر مقابض مشتركة، وتجري تحديثات منسقة عند تغييرات البيان (Manifest)، ويمكنها إصلاح البيانات غير المتسقة عبر آليات الاستعادة ([SWS_PER_00333]، [SWS_PER_00357]). وبينما تتم عمليات الوصول إلى التخزين بشكل متزامن عبر المقابض، تتطلب العمليات الإدارية مثل التحديثات أو إعادة ضبط التخزين غياب عمليات الوصول المتزامنة ([SWS_PER_00311]).

السياق

يوفر فضاء التسمية ara::per واجهات المجموعة الوظيفية للاستمرارية لـ AUTOSAR Adaptive Platform. وتتمثل مسؤوليته الأساسية في التخزين الدائم لبيانات التطبيق بما يتجاوز الذاكرة عبر عمليات إعادة تشغيل النظام ودورات حياة العمليات. وتميز الوحدة بين نموذجي تخزين أساسيين: KeyValueStorage لأزواج المفتاح والقيمة المنظمة، وFileStorage للوصول إلى التخزين القائم على الملفات. وتصل التطبيقات التكيفية إلى هذه الموارد عبر نماذج المنافذ المكونة باستخدام ara::core::InstanceSpecifier ([SWS_PER_00052]، [SWS_PER_00116]).

الشركاء المهمون للتفاعل مع فضاء التسمية هم Update and Configuration Management (UCM)، الذي يمكنه توفير تكوينات مستهدفة (Target Configuration) محدثة أثناء وقت التشغيل ([SWS_PER_00576]، [SWS_PER_00577])، وكذلك وسيط التخزين المادي، الذي يضمن ara::per عليه الاتساق والتكرار وأمان البيانات ([SWS_PER_00311]).

diag_per_kontext Application Adaptive Application PerService ara::per Application->PerService OpenFileStorage / OpenKeyValueStorage StorageBackend Physischer Speicher PerService->StorageBackend Persistierung / Redundanz UCM UCM / Target Configuration UCM->PerService Manifest-Update

مخطط السياق: التفاعل بين التطبيق، وara::per، وإدارة التحديث، والتخزين المادي. المصادر: [SWS_PER_00052]، [SWS_PER_00116]، [SWS_PER_00576]

دورة الحياة

يتم تنظيم الوصول إلى كائنات التخزين عبر تجريدات المقابض. ويؤدي فتح وحدة تخزين عبر OpenKeyValueStorage أو OpenFileStorage إلى إنشاء SharedHandle ([SWS_PER_00052]، [SWS_PER_00116]). ونظرًا لأن عدة خيوط يمكنها الوصول بالتزامن إلى نفس وحدة التخزين، فلا يتم بالضرورة إغلاق المورد المادي عند خروج SharedHandle فردي من نطاق صلاحيته؛ بل يتم الإغلاق فقط عند إزالة جميع مثيلات SharedHandle المُسندة ([SWS_PER_00052]، [SWS_PER_00116]).

بالنسبة للملفات الموجودة داخل FileStorage، يتم تتبع حالات الإنشاء والتعديل بالتفصيل. ويمثل التعداد FileCreationState ما إذا كان الملف قد أُنشئ أثناء التثبيت (kCreatedDuringInstallation)، أو أثناء التحديث (kCreatedDuringUpdate)، أو عبر إعادة الضبط (kCreatedDuringReset)، أو نتيجة للاستعادة (kCreatedDuringRecovery)، أو بواسطة التطبيق نفسه (kCreatedByApplication) ([SWS_PER_00435]). وبشكل مماثل، يعكس FileModificationState متى وعبر أي عملية تم تعديل الملف لآخر مرة ([SWS_PER_00436]).

لإدارة الحالات الأولية، يوفر فضاء التسمية دوال إعادة الضبط: حيث يعيد ResetKeyValueStorage ([SWS_PER_00334]) وResetAllFiles ([SWS_PER_00336]) مخازن فردية إلى القيم التي تم تعريفها مبدئيًا في البيان. وفي المقابل، تُفرغ العملية العامة ResetPersistency ([SWS_PER_00358]) جميع مخازن المفتاح والقيمة ومخازن الملفات بالكامل؛ ويحدث إعادة إنشائها عند الاستدعاء التالي لـ OpenFileStorage أو OpenKeyValueStorage.

فيما يتعلق بالتزامن، فإن دوال الفتح (OpenFileStorage، OpenKeyValueStorage)، واستعلامات حجم التخزين (GetCurrentFileStorageSize، GetCurrentKeyValueStorageSize)، وكذلك دوال الاستعادة وإعادة الضبط الخاصة بالتخزين آمنة خيطيًا ([SWS_PER_00052]، [SWS_PER_00116]، [SWS_PER_00405]، [SWS_PER_00406]، [SWS_PER_00333]، [SWS_PER_00334]، [SWS_PER_00335]، [SWS_PER_00336]). وبالمقابل، فإن عمليات التحديث والتنظيف العامة مثل UpdatePersistency ([SWS_PER_00357])، وCleanUpPersistency ([SWS_PER_00567])، وResetPersistency ([SWS_PER_00358])، وCheckForManifestUpdate ([SWS_PER_00576])، وReloadPersistencyManifest ([SWS_PER_00577]) مصرح عنها بأنها غير آمنة خيطيًا.

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

يتضمن مسار التطبيق النموذجي التحقق من تحديثات التكوين، وتطبيق ترحيل البيانات، والوصول اللاحق إلى التخزين:

قبل التشغيل المنتظم أو أثناءه، يتحقق التطبيق باستخدام CheckForManifestUpdate مما إذا كانت UCM قد قامت بتثبيت تكوين مستهدف جديد ([SWS_PER_00576]). وإذا كان الأمر كذلك، تتم قراءة البيان الجديد عبر ReloadPersistencyManifest ([SWS_PER_00577]). وأثناء مرحلة التحقق اللاحقة، يبدأ التطبيق UpdatePersistency ([SWS_PER_00357]). وللتحكم في عمليات ترحيل البيانات الخاصة بالإصدار، يسجل التطبيق مسبقًا عبر RegisterApplicationDataUpdateCallback دالة معاودة اتصال يتم إعلامها بإصدارات العقود الأقدم وتنفذ خطوات الترحيل الخاصة بالتطبيق ([SWS_PER_00356]). بالإضافة إلى ذلك، يمكن مراقبة تغييرات العناصر باستخدام RegisterDataUpdateIndication ([SWS_PER_00578]). وبعد اكتمال التحديث، يزيل CleanUpPersistency النسخ الاحتياطية القديمة والأصول الزائدة عن الحاجة ([SWS_PER_00567]).

للوصول المنتظم، يفتح التطبيق المورد المستهدف عبر OpenKeyValueStorage ([SWS_PER_00052]) أو OpenFileStorage ([SWS_PER_00116]). وتتم إدارة عمليات الوصول إلى الملفات في FileStorage عبر أقنعة بتات التعداد OpenMode (مثل kAtTheBeginning، وkAtTheEnd، وkTruncate، وkAppend)، والتي يتم دمجها عبر المعاملين operator| ([SWS_PER_00144]) وoperator|= ([SWS_PER_00434]) ([SWS_PER_00147]). وتتم عمليات تحديد الموضع بالنسبة إلى Origin (kBeginning، kCurrent، kEnd) ([SWS_PER_00146]). ويمكن تحديد حجم التخزين المشغول حاليًا في وقت التشغيل عبر GetCurrentKeyValueStorageSize ([SWS_PER_00405]) وGetCurrentFileStorageSize ([SWS_PER_00406]).

تحديث البيان والوصول إلى التخزينAdaptive Applicationara::perUse Case: فحص تحديثات التهيئةCheckForManifestUpdate()Result<bool> (true)optالتحديث متاحReloadPersistencyManifest()Result<void>UpdatePersistency()Result<void>CleanUpPersistency()Result<void>Use Case: وصول قياسي إلى التخزينOpenKeyValueStorage(kvs)Result<SharedHandle<KeyValueStorage>>

مخطط تسلسلي: تسلسل للتحقق من تحديثات البيان، وتنفيذ التحديث، ثم الوصول لاحقًا إلى مخزن المفتاح والقيمة. المصادر: [SWS_PER_00052]، [SWS_PER_00356]، [SWS_PER_00357]، [SWS_PER_00567]، [SWS_PER_00576]، [SWS_PER_00577]

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

تتم الإشارة إلى الأخطاء في فضاء التسمية بشكل قياسي عبر التعداد PerErrc ([SWS_PER_00311]) مقترنًا بـ PerErrorDomain ([SWS_PER_00352]) وMakeErrorCode ([SWS_PER_00351]). ومن المتوقع أن تعمل الفئة المصرح عنها PerException كنوع استثناء C++ للبيئات التي لا تتم فيها معالجة الأخطاء عبر ara::core::Result، بل عبر الاستثناءات (تفسير). سؤال Q-263982a4a4dae284 (مفتوح)

تشمل سيناريوهات الخطأ المركزية ما يلي:

  • أخطاء التكوين والعنونة: إذا كان InstanceSpecifier المُمرَّر لا يطابق أي PortInterface مُهيأ في النموذج، يفشل الفتح مع PerErrc::kStorageNotFound ([SWS_PER_00052]، [SWS_PER_00116]، [SWS_PER_00311]). وتؤدي عمليات الوصول إلى ملفات غير موجودة إلى توليد PerErrc::kFileNotFound ([SWS_PER_00311]).
  • تعارضات الموارد: عندما تكون وحدات التخزين مفتوحة أو يجري تشغيل أوامر إدارية في الوقت نفسه، تفشل عمليات مثل OpenKeyValueStorage، OpenFileStorage، RecoverKeyValueStorage، RecoverAllFiles، ResetKeyValueStorage، ResetAllFiles، UpdatePersistency، CleanUpPersistency أو ResetPersistency مع PerErrc::kResourceBusy ([SWS_PER_00052]، [SWS_PER_00116]، [SWS_PER_00333]، [SWS_PER_00334]، [SWS_PER_00335]، [SWS_PER_00336]، [SWS_PER_00357]، [SWS_PER_00358]، [SWS_PER_00567]).
  • فقدان السلامة والاستعادة: في حالات التلف الهيكلي (PerErrc::kIntegrityCorrupted) أو فشل فحوصات التكرار (PerErrc::kValidationFailed)، يتيح ara::per استعادة بأفضل جهد ممكن عبر RecoverKeyValueStorage ([SWS_PER_00333]) أو RecoverAllFiles ([SWS_PER_00335]). وعبر RegisterRecoveryReportCallback ([SWS_PER_00433])، يمكن للتطبيقات ذات الصلة بالسلامة تسجيل تدابير التصحيح تلقائيًا بالاستناد إلى RecoveryReportKind (مثل kKeyValueStorageRecovered، kFileRecovered) ([SWS_PER_00432]).
  • حدود التخزين والأخطاء المادية: في حال تجاوز الحصص النسبية أو السعات المادية، يتم الإبلاغ عن PerErrc::kOutOfStorageSpace، PerErrc::kQuotaExceeded أو PerErrc::kTooManyFiles ([SWS_PER_00311]). وتؤدي أخطاء العتاد أو نظام الملفات إلى PerErrc::kPhysicalStorageFailure ([SWS_PER_00311]).
  • الأمان وأنماط الوصول: إذا فشلت عمليات التحقق أو الحسابات التشفيرية، يُرجع النموذج PerErrc::kEncryptionFailed أو PerErrc::kAuthenticationFailed ([SWS_PER_00311]). وتُرفض محاولات الكتابة على مساحات تخزين محمية ضد الكتابة باستخدام PerErrc::kIllegalWriteAccess ([SWS_PER_00311]).

يستند هذا الدليل حصريًا إلى مواصفة AUTOSAR Adaptive R25-11.

خريطة المواضيع

KI-gestützte Gruppierung auf Basis der Records und Spezifikationsauszüge; keine Gliederung aus der AUTOSAR-Spezifikation.

مخطط الفئة

Abgerundete Rahmen = Namespace- bzw. Klassen-Scopes; hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); graue Boxen = namespace-fremde bzw. externe Basisklassen. Klicken öffnet die jeweilige Klassen- bzw. cppreference-Seite.

G cluster_ns ara::per nara__per__FileAccessor FileAccessor nara__per__FileInfo «struct» FileInfo nara__per__FileStorage FileStorage nara__per__KeyValueStorage KeyValueStorage nara__per__PerErrorDomain PerErrorDomain next_ara__core__ErrorDomain ara::core::ErrorDomain nara__per__PerErrorDomain->next_ara__core__ErrorDomain nara__per__PerException PerException next_ara__core__Exception ara::core::Exception nara__per__PerException->next_ara__core__Exception nara__per__ReadAccessor ReadAccessor nara__per__ReadAccessor->nara__per__FileAccessor nara__per__ReadWriteAccessor ReadWriteAccessor nara__per__ReadWriteAccessor->nara__per__ReadAccessor nara__per__WriteAccessor WriteAccessor nara__per__ReadWriteAccessor->nara__per__WriteAccessor nara__per__WriteAccessor->nara__per__FileAccessor nara__per__SharedHandle SharedHandle nara__per__UniqueHandle UniqueHandle

عرض التفاصيل

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

Dateizugriff

FileAccessor contains a common basis for ReadAccessor and WriteAccessor

أساس لـ ReadAccessor, WriteAccessor

FileInfo فئة

This structure contains additional information on a file returned by GetFileInfo.

ReadAccessor is used to read file data

يرث من FileAccessor

أساس لـ ReadWriteAccessor

ReadWriteAccessor is used to read and write file data

يرث من ReadAccessor, WriteAccessor

Handle to a ReadAccessor or ReadWriteAccessor

WriteAccessor is used to write file data

يرث من FileAccessor

أساس لـ ReadWriteAccessor

operator| دالة

Merges two OpenMode modifiers into one.

constexpr OpenMode operator| (OpenMode left, OpenMode right);
operator|= دالة

Merges an OpenMode modifier into this OpenMode.

OpenMode & operator|= (OpenMode &left, const OpenMode &right);

This enumeration describes how and when a file was created.

enum class FileCreationState : std::uint32_t {...};

This enumeration describes how and when a file was last modified.

enum class FileModificationState : std::uint32_t {...};
OpenMode تعداد

This enumeration defines how a file shall be opened. The values can be combined (using | and |=) as long as they do not contradict each other.

enum class OpenMode : std::uint32_t {...};
Origin تعداد

Specification of origin used in MovePosition.

enum class Origin : std::uint32_t {...};

Speicheröffnung

The File Storage contains a set of files identified by their file names.

The Key-Value Storage contains a set of keys with associated values.

Handle to a File Storage or Key-Value Storage

Returns the space in bytes currently occupied by a File Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the File Storage is not opened and no other operation on the File Storage takes place at the same time.

ara::core::Result< std::uint64_t > GetCurrentFileStorageSize (const ara::core::InstanceSpecifier &fs) noexcept;

Returns the space in bytes currently occupied by a Key-Value Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the Key-Value Storage is not opened and no other operation on the Key-Value Storage takes place at the same time.

ara::core::Result< std::uint64_t > GetCurrentKeyValueStorageSize (const ara::core::InstanceSpecifier &kvs) noexcept;

Opens a File Storage. OpenFileStorage will fail with kResourceBusy when the File Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. Because multiple threads can access the same File Storage concurrently, the File Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same File Storage went out of scope.

ara::core::Result< SharedHandle< FileStorage > > OpenFileStorage (const ara::core::InstanceSpecifier &fs) noexcept;

Opens a Key-Value Storage. OpenKeyValueStorage will fail with kResourceBusy when the Key-Value Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. Because multiple threads can access the same Key-Value Storage concurrently, the Key-Value Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same Key-Value Storage went out of scope.

ara::core::Result< SharedHandle< KeyValueStorage > > OpenKeyValue Storage (const ara::core::InstanceSpecifier &kvs) noexcept;

Fehlerbehandlung

Defines the error domain for Persistency.

يرث من ara::core::ErrorDomain

Exception type thrown by Persistency.

يرث من ara::core::Exception

GetPerDomain دالة

Returns the global PerErrorDomain object.

constexpr const ara::core::ErrorDomain & GetPerDomain () noexcept;
MakeErrorCode دالة

Creates an error code.

constexpr ara::core::ErrorCode MakeErrorCode (PerErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;
PerErrc تعداد

Defines the errors for Persistency. The enumeration values 0 - 255 are reserved for AUTOSAR assigned errors, the stack provider is free to define additional errors starting from 256.

enum class PerErrc : ara::core::ErrorDomain::CodeType {...};

Wiederherstellung

Recovers a File Storage, including all files. RecoverAllFiles recovers a File Storage when the redundancy checks fail. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. This method does a best-effort recovery of all files. After recovery, files might show outdated or initial content, or might be lost.

ara::core::Result< void > RecoverAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Recovers a Key-ValueStorage. RecoverKeyValueStorage allows to recover a Key-Value Storage when the redundancy checks fail. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. This method does a best-effort recovery of all key-value pairs. After recovery, keys might show outdated or initial value, or might be lost.

ara::core::Result< void > RecoverKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Register a recovery reporting callback with Persistency. This callback can be used in safety-aware Adaptive Applications to detect actions of the Persistency that are related to the correctness of the persisted data and the reliability of the storage.

void RegisterRecoveryReportCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::per::RecoveryReportKind recoveryReportKind, ara::core::Vector< ara::core::String > reported Elements, ara::core::Vector< std::uint8_t > reportedInstances)> recoveryReportCallback) noexcept;

Defines the reported recovery actions.

enum class RecoveryReportKind : std::uint32_t {...};

Datenpflege

Checks for updates of the Persistency Target Configuration. This method can be used to detect configuration updates that are installed by UCM while the Adaptive Application that uses Persistency is running. To re-read the updated Target Configuration, the Adaptive Application needs to call ara::per:: ReloadPersistencyManifest.

ara::core::Result< bool > CheckForManifestUpdate () noexcept;

Removes backup data and other unused data of all Persistency Key-Value Storages and File Storages.

ara::core::Result< void > CleanUpPersistency () noexcept;

Registers an application data update callback with Persistency. The provided callback function will be called by Persistency if an update of stored application data might be necessary. This decision is based on the contract versions. The contract version that last accessed Persistency is provided as an argument to the callback, as well as the ara::core::InstanceSpecifier referring to the updated Key- Value Storage or File Storage. Based on this information, the Adaptive Application can decide which updates are actually necessary, e.g. a migration from any older contract version could be supported, with different steps required for each of these. The provided function will be called from the context of ara::per::UpdatePersistency, ara::per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

void RegisterApplicationDataUpdateCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::core::String contract Version)> appDataUpdateCallback) noexcept;

Registers a data update indication callback with Persistency. The provided callback function will be called by Persistency when an update of stored data happened. It will be called from the context of ara::per::UpdatePersistency, ara:: per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

void RegisterDataUpdateIndication (std::function< void(const ara::core::InstanceSpecifier &updatedStorage, ara::core::StringView updatedElement)> dataUpdateIndication, ara::core::InstanceSpecifier monitoredStorage, ara::core::Vector< ara::core::String > monitored Elements) noexcept;

Re-reads the Target Configuration. This method can be used to prepare for updates of the Key-Value Storages and File Storages of Persistency after a new Target Configuration was installed by UCM while the Adaptive Application that uses Persistency is running. Storages are only updated after closing them, either when they are opened again or by an explicit call to ara:: per::UpdatePersistency.

ara::core::Result< void > ReloadPersistencyManifest () noexcept;
ResetAllFiles دالة

Resets a File Storage, including all files. ResetAllFiles resets a File Storage to the initial state, containing only the files which were deployed from the Target Configuration, with their initial content. Afterwards, the File Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles.

ara::core::Result< void > ResetAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Resets a Key-Value Storage to the initial state. ResetKeyValueStorage allows to reset a Key-Value Storage to the initial state, containing only key-value pairs which were deployed from the Target Configuration, with their initial values. Afterwards, the Key-Value Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage.

ara::core::Result< void > ResetKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Resets all Key-Value Storages and File Storages by entirely removing their content. The Key-Value Storages and File Storages will be re-created when ara::per:: OpenFileStorage or ara::per::OpenKeyValueStorage is called next time.

ara::core::Result< void > ResetPersistency () noexcept;

Updates all Persistency Key-Value Storages and File Storages after a new Target Configuration was installed. This method can be used to update the persistent data of the Adaptive Application during verification phase.

ara::core::Result< void > UpdatePersistency () noexcept;

التعدادات

تعداد FileCreationState [SWS_PER_00435] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class FileCreationState :                std::uint32_t {...};

This enumeration describes how and when a file was created.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolFileCreationState
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kCreatedDuringInstallation=1 The file was created by Persistency after installation of the Adaptive Application or after ResetPersistency.
kCreatedDuringUpdate=2 The file was created by Persistency during an update.
kCreatedDuringReset=3 The file was re-created due to a call to ResetFile or ResetAllFiles.
kCreatedDuringRecovery=4 The file was re-created by Persistency after a corruption was detected.
kCreatedByApplication=5 The file was created by the Persistency user.

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

Record
AUTOSAR/AP/record/SWS_PER_00435
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00435@rel:R25-11#3e316e0e
Content hash
3e316e0e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00435
Status: valid/unmigrated Version: rel:R25-11#5c76ed9c Versionshistorie & Revisions (1 transition, 7 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_PER_00435@rel:R25-11#5c76ed9c
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#91c90ae12026-09-30
  • R20-11rel:R20-11#fc72e8cf2026-10-14
  • R21-11rel:R21-11#fade16892026-10-14
  • R22-11rel:R22-11#76ad97da2026-10-14
  • R23-11rel:R23-11#096eb2152026-10-14
  • R24-11rel:R24-11#67a514e92026-10-14
  • R25-11rel:R25-11#5c76ed9c2026-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

تعداد FileModificationState [SWS_PER_00436] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class FileModificationState :                 std::uint32_t {...};

This enumeration describes how and when a file was last modified.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolFileModificationState
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kModifiedDuringUpdate=2 The file was last modified by Persistency during an update.
kModifiedDuringReset=3 The file was last modified by Persistency due to a call to ResetFile or ResetAllFiles.
kModifiedDuringRecovery=4 The file was last modified by Persistency after a corruption was detected.
kModifiedByApplication=5 The file was last modified by the Persistency user.

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

Record
AUTOSAR/AP/record/SWS_PER_00436
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00436@rel:R25-11#2b06e21f
Content hash
2b06e21f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00436
Status: valid/unmigrated Version: rel:R25-11#13cb5d42 Versionshistorie & Revisions (1 transition, 7 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_PER_00436@rel:R25-11#13cb5d42
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#399a20322026-09-30
  • R20-11rel:R20-11#83ce45b72026-10-14
  • R21-11rel:R21-11#98b8ab052026-10-14
  • R22-11rel:R22-11#2ce2c3962026-10-14
  • R23-11rel:R23-11#d9854b632026-10-14
  • R24-11rel:R24-11#93230b352026-10-14
  • R25-11rel:R25-11#13cb5d422026-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

تعداد OpenMode [SWS_PER_00147] Upstream: RS_PER_00003, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class OpenMode :            std::uint32_t {...};

This enumeration defines how a file shall be opened. The values can be combined (using | and |=) as long as they do not contradict each other.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolOpenMode
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kAtTheBeginning= 1 << 0 Sets the seek position to the beginning of the file when the file is opened. This mode cannot be combined with kAtTheEnd.
kAtTheEnd= 1 << 1 Sets the seek position to the end of the file when the file is opened. This mode cannot be combined with kAtTheBeginning or kTruncate.
kTruncate= 1 << 2 Removes existing content when the file is opened. This mode cannot be combined with kAtTheEnd.
kAppend= 1 << 3 Append to the end. Always seeks to the end of the file before writing.

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

Record
AUTOSAR/AP/record/SWS_PER_00147
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00147@rel:R25-11#bdab9216
Content hash
bdab9216
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00147
Status: valid/unmigrated Version: rel:R25-11#76cbd793 Versionshistorie & Revisions (1 transition, 8 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_PER_00147@rel:R25-11#76cbd793
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#1232fbf52026-09-30
  • R19-11rel:R19-11#850afae02026-10-14
  • R20-11rel:R20-11#1262e3062026-10-14
  • R21-11rel:R21-11#6e04c4702026-10-14
  • R22-11rel:R22-11#53c040ad2026-10-14
  • R23-11rel:R23-11#48e6b88e2026-10-14
  • R24-11rel:R24-11#678f13022026-10-14
  • R25-11rel:R25-11#76cbd7932026-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

تعداد Origin [SWS_PER_00146] Upstream: RS_PER_00003, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class Origin :            std::uint32_t {...};

Specification of origin used in MovePosition.

Header-Datei#include "ara/per/file_accessor.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolOrigin
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kBeginning=0 Seek from the beginning of the file.
kCurrent=1 Seek from the current position.
kEnd=2 Seek from the end of the file.

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

Record
AUTOSAR/AP/record/SWS_PER_00146
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00146@rel:R25-11#b35063e9
Content hash
b35063e9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00146
Status: valid/unmigrated Version: rel:R25-11#d2fd11c4 Versionshistorie & Revisions (1 transition, 8 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_PER_00146@rel:R25-11#d2fd11c4
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3a8c900d2026-09-30
  • R19-11rel:R19-11#852935312026-10-14
  • R20-11rel:R20-11#25a49a522026-10-14
  • R21-11rel:R21-11#118ba30a2026-10-14
  • R22-11rel:R22-11#118ba30a2026-10-14
  • R23-11rel:R23-11#f995dce12026-10-14
  • R24-11rel:R24-11#f995dce12026-10-14
  • R25-11rel:R25-11#d2fd11c42026-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

تعداد PerErrc [SWS_PER_00311] Upstream: RS_AP_00122, RS_AP_00125, RS_AP_00127, RS_AP_00149

enum class PerErrc :            ara::core::ErrorDomain::CodeType {...};

Defines the errors for Persistency. The enumeration values 0 - 255 are reserved for AUTOSAR assigned errors, the stack provider is free to define additional errors starting from 256.

Header-Datei#include "ara/per/per_error_domain.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolPerErrc
Basistypara::core::ErrorDomain::CodeType

Werte

EnumeratorBeschreibung
kStorageNotFound=1 The requested Key-Value Storage or File Storage is not configured in the AUTOSAR model.
kKeyNotFound=2 The provided key cannot be not found in the Key-Value Storage.
kIllegalWriteAccess=3 The operation could not be performed because the accessed Key-Value Storage or File Storage is configured as read-only or write-only-once.
kPhysicalStorageFailure=4 An error occurred when accessing the physical storage, e.g. because of a corrupted file system or corrupted hardware, or because of insufficient access rights.
kIntegrityCorrupted=5 The structural integrity of the Key-Value Storage or File Storage could not be established. This can happen when the internal structure of a Key-Value Storage or the metadata of a File Storage is corrupted.
kValidationFailed=6 The validation of redundancy measures failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.
kEncryptionFailed=7 The encryption or decryption failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.
kDataTypeMismatch=8 The provided data type does not match the stored data type.
kInitValueNotAvailable=9 The operation could not be performed because no initial value is available.
kResourceBusy= 10 The operation could not be performed because the resource is currently busy.
kOutOfStorageSpace= 12 The physical storage space was exceeded.
kFileNotFound= 13 The requested file name cannot be not found in the File Storage.
kInvalidPosition= 15 SetPosition tried to move to a position that is not reachable (i.e. which is smaller than zero or greater than the current size of the file).
kEof= 16 The Persistency user tried to read from the end of the file or from an empty file.
kInvalidOpenMode= 17 Opening a file failed because the requested combination of Open Modes is invalid.
kInvalidSize= 18 SetFileSize tried to set a new size that is bigger than the current file size.
kTooManyFiles= 19 The maximum number of files was exceeded.
kQuotaExceeded= 20 The allocated storage quota was exceeded.
kAuthenticationFailed= 21 Calculating or checking of the MAC failed for a single key-value pair, for the whole Key-Value Storage, for a single file, or for the whole File Storage.

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

Record
AUTOSAR/AP/record/SWS_PER_00311
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00311@rel:R25-11#3efd6a44
Content hash
3efd6a44
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00311
Status: valid/unmigrated Version: rel:R25-11#bb710d42 Versionshistorie & Revisions (1 transition, 8 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_PER_00311@rel:R25-11#bb710d42
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#74bafb1d2026-09-30
  • R19-11rel:R19-11#52a505112026-10-14
  • R20-11rel:R20-11#31f87d482026-10-14
  • R21-11rel:R21-11#9bbbacde2026-10-14
  • R22-11rel:R22-11#4c6de6f22026-10-14
  • R23-11rel:R23-11#3774a98c2026-10-14
  • R24-11rel:R24-11#7af9c3ee2026-10-14
  • R25-11rel:R25-11#bb710d422026-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

تعداد RecoveryReportKind [SWS_PER_00432] Upstream: RS_PER_00008, RS_AP_00122, RS_AP_00125, RS_AP_00143

enum class RecoveryReportKind :            std::uint32_t {...};

Defines the reported recovery actions.

Header-Datei#include "ara/per/recovery.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
SymbolRecoveryReportKind
Basistypstd::uint32_t

Werte

EnumeratorBeschreibung
kKeyValueStorageRecoveryFailed=1 A Key-Value Storage was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements is empty, reportedInstances contains the indices of the affected Key-Value Storage copies.
kKeyValueStorageRecovered=2 A Key-Value Storage was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements is empty, reportedInstances contains the indices of the affected Key-Value Storage copies.
kKeyRecoveryFailed=3 A set of key-value pairs was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements contains the list of affected keys, reportedInstances contains the indices of the affected Key-Value Storage or key-value pair copies. In general, the nth key in reportedElements corresponds to the nth index in reported Instances, i.e. a key may be reported several times if several copies are broken. In case only one key-value pair is affected, reported Elements may be provided containing just this key.
kKeyRecovered=4 A set of key-value pairs was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the Key-Value Storage, reportedElements contains the list of affected keys, reportedInstances contains the indices of the affected Key-Value Storage or key-value pair copies. In general, the nth key in reportedElements corresponds to the nth index in reported Instances, i.e. a key may be reported several times if several copies are broken. In case only one key-value pair is affected, reported Elements may be provided containing just this key.
kFileStorageRecoveryFailed=5 A File Storage was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements is empty, reportedInstances contains the indices of the affected File Storage copies.
kFileStorageRecovered=6 A File Storage was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements is empty, reportedInstances contains the indices of the affected File Storage copies.
kFileRecoveryFailed=7 A set of files was corrupted, an insufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements contains the list of affected file names, reported Instances contains the indices of the affected File Storage or file copies. In general, the nth file name in reportedElements corresponds to the nth index in reportedInstances, i.e. a file name may be reported several times if several copies are broken. In case only one file is affected, reportedElements may be provided containing just this file name.
kFileRecovered=8 A set of files was corrupted, but a sufficient number of valid copies existed. storage contains the short-name path of the File Storage, reportedElements contains the list of affected file names, reported Instances contains the indices of the affected File Storage or file copies. In general, the nth file name in reportedElements corresponds to the nth index in reportedInstances, i.e. a file name may be reported several times if several copies are broken. In case only one file is affected, reportedElements may be provided containing just this file name.

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

Record
AUTOSAR/AP/record/SWS_PER_00432
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00432@rel:R25-11#6e3fef0c
Content hash
6e3fef0c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00432
Status: valid/unmigrated Version: rel:R25-11#dd38feda Versionshistorie & Revisions (1 transition, 7 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_PER_00432@rel:R25-11#dd38feda
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#3adbe73c2026-09-30
  • R20-11rel:R20-11#6815294e2026-10-14
  • R21-11rel:R21-11#8fb22ccf2026-10-14
  • R22-11rel:R22-11#92f94a6b2026-10-14
  • R23-11rel:R23-11#4cff42322026-10-14
  • R24-11rel:R24-11#2ec0a9942026-10-14
  • R25-11rel:R25-11#dd38feda2026-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

توثيق الدوال الحرة

دالة CheckForManifestUpdate [SWS_PER_00576] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< bool > CheckForManifestUpdate () noexcept;

Checks for updates of the Persistency Target Configuration. This method can be used to detect configuration updates that are installed by UCM while the Adaptive Application that uses Persistency is running. To re-read the updated Target Configuration, the Adaptive Application needs to call ara::per:: ReloadPersistencyManifest.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: b1f49db8b33d المصدر
مترجم من الدليل الألمانيمُولَّد بالذكاء الاصطناعيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تفحص الدالة المتزامنة CheckForManifestUpdate من ملف الترويسة ara/per/update.h في مساحة الاسم ara::per ما إذا كانت هناك تحديثات لـ Persistency Target Configuration [SWS_PER_00576]. وهي تعمل على اكتشاف تغييرات التهيئة التي تم تطبيقها بواسطة Update and Configuration Management (UCM) أثناء تشغيل التطبيق التكيفي الذي يستخدم الاستمرارية بالفعل [SWS_PER_00576]. لا تقبل الدالة أي معاملات وتعيد ara::core::Result<bool>: true إذا تم تحديث التهيئة منذ آخر قراءة، أو false إذا بقيت دون تغيير [SWS_PER_00576].

معالجة الأخطاء والتزامن

تم التصريح عن الدالة بأنها noexcept وآمنة من الاستثناءات (exception safe)، ولكنها ليست آمنة للخيوط (not thread-safe) [SWS_PER_00576]. في حالة حدوث خطأ، تحتوي النتيجة إما على أخطاء خاصة بالجهة المصنعة أو على أحد رموز الخطأ التالية [SWS_PER_00576]:

  • kPhysicalStorageFailure: يحدث عندما يفشل الوصول إلى وحدة التخزين الفعلية أثناء الفحص [SWS_PER_00576].
  • kIntegrityCorrupted: يحدث عندما يتعذر قراءة البيانات المحفوظة بسبب تلف السلامة الهيكلية [SWS_PER_00576].

تفاعل

إذا تم اكتشاف تحديث (القيمة المُرجعة true)، فيجب على التطبيق استدعاء ara::per::ReloadPersistencyManifest بعد ذلك لإعادة قراءة الـ Target Configuration التي تم تغييرها فعليًا [SWS_PER_00576].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي وهو بمثابة دليل توجيهي استنادًا إلى المواصفة.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< bool >A Result containing true if the Target Configuration was updated or false if it is unchanged since the last time the Target Configuration was read. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failurerollback_semantics Returned if access to the physical storage fails during the checking operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.

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

Record
AUTOSAR/AP/record/SWS_PER_00576
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00576@rel:R25-11#f782c1ae
Content hash
f782c1ae
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00576
Status: valid/unmigrated Version: rel:R25-11#f5cc3f5c Versionshistorie & Revisions (1 transition, 3 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_PER_00576@rel:R25-11#f5cc3f5c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#b26d10d92026-09-30
  • R24-11rel:R24-11#478f6c8c2026-10-14
  • R25-11rel:R25-11#f5cc3f5c2026-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

دالة CleanUpPersistency [SWS_PER_00567] Upstream: RS_PER_00016, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > CleanUpPersistency () noexcept;

Removes backup data and other unused data of all Persistency Key-Value Storages and File Storages.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ce1bea3039de المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة CleanUpPersistency من ara/per/update.h لإزالة بيانات النسخ الاحتياطي (Backup Data) وغيرها من البيانات غير المستخدمة عبر كافة مخازن المفتاح-القيمة (Key-Value) والملفات (File-Storages) لمثيل ما [SWS_PER_00567]. وهي لا تقبل أي معاملات وتُعيد النتيجة عبر نوع الإرجاع ara::core::Result<void> [SWS_PER_00567].

التزامن والقيود

الدالة ليست آمنة للخيوط (not thread-safe) وتتطلب وصولاً حصريًا إلى جميع موارد التخزين [SWS_PER_00567]. إذا كان هناك ara::per::SharedHandle لمخزن مفتاح-قيمة أو ملف لا يزال مفتوحًا، يفشل الاستدعاء مع kResourceBusy [SWS_PER_00567]. وبالمثل، تؤدي العمليات الجارية بالتوازي مثل UpdatePersistency، ResetPersistency، RecoverKeyValueStorage، ResetKeyValueStorage، RecoverAllFiles أو ResetAllFiles إلى رمز الخطأ kResourceBusy [SWS_PER_00567].

طالما يتم تنفيذ CleanUpPersistency، فإن الاستدعاءات المتزامنة لفتح المخازن عبر OpenKeyValueStorage [SWS_PER_00052] أو OpenFileStorage [SWS_PER_00116] وكذلك وظائف الاستعادة وإعادة الضبط [SWS_PER_00333]، [SWS_PER_00334]، [SWS_PER_00335]، [SWS_PER_00336] تفشل أيضًا بـ kResourceBusy.

معالجة الأخطاء

تنطبق دلالات التراجع المتعلقة بالمخزن على الأخطاء التي تحدث [SWS_PER_00567]. تشمل الأخطاء المحتملة إلى جانب kResourceBusy:

  • kPhysicalStorageFailure عند حدوث أخطاء أثناء الوصول إلى وسيط التخزين الفعلي [SWS_PER_00567]،
  • kIntegrityCorrupted عند حدوث تلف هيكلي في البيانات المخزنة [SWS_PER_00567]،
  • kValidationFailed عند فشل التحقق من صحة البيانات [SWS_PER_00567]،
  • kEncryptionFailed عند حدوث أخطاء أثناء التشفير أو فك التشفير [SWS_PER_00567]،
  • kAuthenticationFailed عند فشل حساب أو التحقق من MAC [SWS_PER_00567]،
  • وكذلك رموز أخطاء خاصة بالشركة المصنعة [SWS_PER_00567].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe kPhysicalStorage- rollback_semantics

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FailureReturned if access to the physical storage fails during the update operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails during the update operation.
kResourceBusyrollback_semantics Returned if ara::per::UpdatePersistency or ara::per:: ResetPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.
kAuthentication-Failedrollback_semantics Returned if calculating or checking the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00567
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00567@rel:R25-11#e68f4734
Content hash
e68f4734
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00567
Status: valid/unmigrated Version: rel:R25-11#f9cdaf08 Versionshistorie & Revisions (1 transition, 4 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_PER_00567@rel:R25-11#f9cdaf08
Point-in-Time History:
Recorded Revisions (4):
  • R25-11rel:R25-11#7398665b2026-09-30
  • R23-11rel:R23-11#e1f7fda32026-10-14
  • R24-11rel:R24-11#0bfb7d2d2026-10-14
  • R25-11rel:R25-11#f9cdaf082026-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

دالة GetCurrentFileStorageSize [SWS_PER_00406] Upstream: RS_PER_00017, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< std::uint64_t > GetCurrentFileStorageSize (const ara::core::InstanceSpecifier &fs) noexcept;

Returns the space in bytes currently occupied by a File Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the File Storage is not opened and no other operation on the File Storage takes place at the same time.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<std::uint64_t >A Result containing the occupied space in bytes. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00406
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00406@rel:R25-11#97aa4c3b
Content hash
97aa4c3b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00406
Status: valid/unmigrated Version: rel:R25-11#05c094c0 Versionshistorie & Revisions (1 transition, 8 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_PER_00406@rel:R25-11#05c094c0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#602f8c772026-09-30
  • R19-11rel:R19-11#67f89fa62026-10-14
  • R20-11rel:R20-11#87f0114c2026-10-14
  • R21-11rel:R21-11#ee9e70cd2026-10-14
  • R22-11rel:R22-11#def327602026-10-14
  • R23-11rel:R23-11#06e0e64e2026-10-14
  • R24-11rel:R24-11#78d010822026-10-14
  • R25-11rel:R25-11#05c094c02026-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

دالة GetCurrentKeyValueStorageSize [SWS_PER_00405] Upstream: RS_PER_00017, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< std::uint64_t > GetCurrentKeyValueStorageSize (const ara::core::InstanceSpecifier &kvs) noexcept;

Returns the space in bytes currently occupied by a Key-Value Storage. The returned size includes all metadata and the space used for redundancy and backups. The returned size is only guaranteed to be accurate if the Key-Value Storage is not opened and no other operation on the Key-Value Storage takes place at the same time.

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<std::uint64_t >A Result containing the occupied space in bytes. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00405
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00405@rel:R25-11#ba546a67
Content hash
ba546a67
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00405
Status: valid/unmigrated Version: rel:R25-11#542916fb Versionshistorie & Revisions (1 transition, 8 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_PER_00405@rel:R25-11#542916fb
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c4ec6e962026-09-30
  • R19-11rel:R19-11#3f8d2ee72026-10-14
  • R20-11rel:R20-11#f394ab092026-10-14
  • R21-11rel:R21-11#e1cb35cd2026-10-14
  • R22-11rel:R22-11#39a308942026-10-14
  • R23-11rel:R23-11#5c939f722026-10-14
  • R24-11rel:R24-11#542916fb2026-10-14
  • R25-11rel:R25-11#542916fb2026-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

دالة GetPerDomain [SWS_PER_00352] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00159

constexpr const ara::core::ErrorDomain & GetPerDomain () noexcept;

Returns the global PerErrorDomain object.

Header-Datei#include "ara/per/per_error_domain.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Rückgabewert

TypBeschreibung
const ara::core::ErrorDomain &The global PerErrorDomain object.

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

Record
AUTOSAR/AP/record/SWS_PER_00352
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00352@rel:R25-11#fa918dad
Content hash
fa918dad
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00352
Status: valid/unmigrated Version: rel:R25-11#0f9be8a3 Versionshistorie & Revisions (1 transition, 8 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_PER_00352@rel:R25-11#0f9be8a3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#404a17482026-09-30
  • R19-11rel:R19-11#9cb2d1f82026-10-14
  • R20-11rel:R20-11#ba7c6ddb2026-10-14
  • R21-11rel:R21-11#ba7c6ddb2026-10-14
  • R22-11rel:R22-11#a22a71a82026-10-14
  • R23-11rel:R23-11#e20d90152026-10-14
  • R24-11rel:R24-11#0f9be8a32026-10-14
  • R25-11rel:R25-11#0f9be8a32026-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

دالة MakeErrorCode [SWS_PER_00351] Upstream: RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00135, RS_AP_00159

constexpr ara::core::ErrorCode MakeErrorCode (PerErrc code, ara::core::ErrorDomain::SupportDataType data) noexcept;

Creates an error code.

Header-Datei#include "ara/per/per_error_domain.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
codeError code number.
dataVendor defined data associated with the error.

Rückgabewert

TypBeschreibung
ara::core::ErrorCodeAn ErrorCode object.

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

Record
AUTOSAR/AP/record/SWS_PER_00351
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00351@rel:R25-11#1a118a88
Content hash
1a118a88
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00351
Status: valid/unmigrated Version: rel:R25-11#6bc3a705 Versionshistorie & Revisions (1 transition, 8 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_PER_00351@rel:R25-11#6bc3a705
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d180b00f2026-09-30
  • R19-11rel:R19-11#4a2f0cae2026-10-14
  • R20-11rel:R20-11#0405c8a02026-10-14
  • R21-11rel:R21-11#df6b498d2026-10-14
  • R22-11rel:R22-11#cc3dc3172026-10-14
  • R23-11rel:R23-11#caf22e062026-10-14
  • R24-11rel:R24-11#6bc3a7052026-10-14
  • R25-11rel:R25-11#6bc3a7052026-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

دالة OpenFileStorage [SWS_PER_00116] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00144, RS_AP_00147, RS_AP_00159

ara::core::Result< SharedHandle< FileStorage > > OpenFileStorage (const ara::core::InstanceSpecifier &fs) noexcept;

Opens a File Storage. OpenFileStorage will fail with kResourceBusy when the File Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. Because multiple threads can access the same File Storage concurrently, the File Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same File Storage went out of scope.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 14078ca86bfb المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تفتح الدالة المتزامنة ara::per::OpenFileStorage وحدة تخزين ملفات للبيانات المستدامة وتوفرها عبر مقبض وصول مشترك [SWS_PER_00116]. وتتوقع كمعلمة مرجعًا إلى ara::core::InstanceSpecifier، والذي يحدد مسار shortName لنموذج أولي للمنفذ مصنف النوع بواسطة PersistencyFileStorageInterface. وتكون القيمة المرجعة ara::core::Result<ara::core::SharedHandle<FileStorage>> [SWS_PER_00116].

فيما يتعلق بالتزامن، تم تحديد الدالة على أنها آمنة خيطيًا (thread-safe) وآمنة من الاستثناءات (exception-safe) [SWS_PER_00116]. ونظرًا لأن خيوطًا متعددة يمكنها الوصول بالتوازي إلى نفس مثيل وحدة تخزين الملفات، فإن وحدة التخزين المادية لا تُغلق بالضرورة عند خروج SharedHandle فردي من نطاق الصلاحية. ويتم الإغلاق فقط بعد خروج جميع المقابض المرجعية عن النطاق (out-of-scope) [SWS_PER_00116].

في حالة حدوث خطأ، يحتوي Result على أكواد أخطاء من التعداد PerErrc أو أخطاء خاصة بالشركة المصنعة [SWS_PER_00116]:

  • PerErrc::kResourceBusy: يتم إرجاعه عند تنفيذ عمليات إدارية بالتزامن مثل CleanUpPersistency أو ResetPersistency أو RecoverAllFiles أو ResetAllFiles. وأثناء نشاط UpdatePersistency، يحدث هذا الخطأ إذا تم الاستدعاء خارج رد الاتصال المسجل عبر RegisterApplicationDataUpdateCallback أو باستخدام معرّف مختلف [SWS_PER_00116]، [SWS_PER_00356].
  • أخطاء التكوين والوصول: kStorageNotFound عند وجود مثيل غير مهيأ، وkPhysicalStorageFailure عند حدوث أخطاء في التخزين المادي، وkIntegrityCorrupted وkValidationFailed وkEncryptionFailed وkAuthenticationFailed عند وجود مشكلات في السلامة أو الفحص أو فك التشفير [SWS_PER_00116].
  • حدود السعة أثناء التحديثات الضمنية: kOutOfStorageSpace أو kTooManyFiles أو kQuotaExceeded [SWS_PER_00116].

بالتفاعل مع الوحدة، تؤدي إعادة التعيين المسبقة باستخدام ResetPersistency إلى إعادة إنشاء وحدات تخزين الملفات المحذوفة عند الاستدعاء التالي لـ OpenFileStorage [SWS_PER_00358]. وإذا تم تحديث البيانات أثناء الفتح، يتم استدعاء رد اتصال إشعار (indication callback) مسجل عبر RegisterDataUpdateIndication مباشرةً في سياق OpenFileStorage [SWS_PER_00578].

تم إنشاء هذا النص بواسطة ذكاء اصطناعي بناءً على مواصفة AUTOSAR Adaptive R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<SharedHandle< FileStorage > >A Result containing a SharedHandle for the File Storage. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
PerErrc::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if CleanUpPersistency, or ResetPersistency is currently being executed, or if RecoverAllFiles or ResetAllFiles is currently being executed for the same File Storage. Also, while Update Persistency is currently being executed, this error is returned when OpenFileStorage is called outside of the callback registered via RegisterApplicationDataUpdateCallback, or if the used Instance Specifier differs from the one provided by the callback.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the files that are added/updated during an implicit update of the File Storage.
PerErrc::kTooManyFilesrollback_semantics Returned if the files that are added during an implicit update of the File Storage would exceed the configured maxNumberOfFiles.
PerErrc::kQuotaExceededrollback_semantics Returned if the files that are added/updated during an implicit update of the File Storage would exceed the configured maximum AllowedSize.
PerErrc::kAuthenticationFailedrollback_semantics Returned if checking the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00116
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00116@rel:R25-11#96cff275
Content hash
96cff275
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00116
Status: valid/unmigrated Version: rel:R25-11#045a694e Versionshistorie & Revisions (1 transition, 8 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_PER_00116@rel:R25-11#045a694e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#3d9a9e5b2026-09-30
  • R19-11rel:R19-11#bf01f2fc2026-10-14
  • R20-11rel:R20-11#f59e7f982026-10-14
  • R21-11rel:R21-11#8ea5df192026-10-14
  • R22-11rel:R22-11#4ac6fa6a2026-10-14
  • R23-11rel:R23-11#21db3eff2026-10-14
  • R24-11rel:R24-11#a4ff2c552026-10-14
  • R25-11rel:R25-11#045a694e2026-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

دالة OpenKeyValueStorage [SWS_PER_00052] Upstream: RS_PER_00003, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_ AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00144, RS_AP_00147, RS_AP_00159

ara::core::Result< SharedHandle< KeyValueStorage > > OpenKeyValue Storage (const ara::core::InstanceSpecifier &kvs) noexcept;

Opens a Key-Value Storage. OpenKeyValueStorage will fail with kResourceBusy when the Key-Value Storage is currently being modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. Because multiple threads can access the same Key-Value Storage concurrently, the Key-Value Storage might not be closed when the SharedHandle returned by this function goes out of scope. It will only be closed when all SharedHandles that refer to the same Key-Value Storage went out of scope.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d24427922381 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام ودورة الحياة

تفتح الدالة المتزامنة OpenKeyValueStorage وحدة تخزين مفتاح-قيمة ومحددة كـ thread-safe وكذلك noexcept [SWS_PER_00052]. يتم تمرير ara::core::InstanceSpecifier كمعلمة kvs، والتي تشير إلى مسار PortPrototype مصنف النوع بواسطة PersistencyKeyValueStorageInterface. وتتم الإرجاع كـ ara::core::Result<SharedHandle<KeyValueStorage>>. نظرًا لأن خيوطًا متعددة يمكنها فتح وحدة التخزين نفسها بشكل متزامن، فإن Persistency لا تغلق وحدة التخزين المادية إلا بعد أن تغادر جميع مثيلات SharedHandle المرجعية نطاق صلاحيتها [SWS_PER_00052].

معالجة الأخطاء والتزامن

في حالة حدوث خطأ، تُرجع النتيجة أكواد أخطاء محددة لنطاق أخطاء Persistency [SWS_PER_00052]:

  • PerErrc::kStorageNotFound: المعرّف لا يتطابق مع أي واجهة مهيأة للملف التنفيذي (Executable).
  • PerErrc::kResourceBusy: يحدث عند تنفيذ CleanUpPersistency أو ResetPersistency [SWS_PER_00358] أو RecoverKeyValueStorage أو ResetKeyValueStorage بالتزامن لوحدة التخزين هذه. وأثناء UpdatePersistency، لا يُسمح بالاستدعاء إلا داخل رد الاتصال (callback) المسجل عبر RegisterApplicationDataUpdateCallback باستخدام معرّف المثيل الممرر هناك [SWS_PER_00356].
  • PerErrc::kPhysicalStorageFailure وPerErrc::kIntegrityCorrupted وPerErrc::kValidationFailed وPerErrc::kEncryptionFailed وPerErrc::kAuthenticationFailed عند وجود أعطال أو أخطاء في التحقق من الصحة أو أخطاء في التشفير.
  • PerErrc::kOutOfStorageSpace وPerErrc::kQuotaExceeded عند عدم كفاية مساحة التخزين أو تجاوز الحصة النسبية أثناء تحديث ضمني.

تفاعل

إذا تم حذف جميع البيانات مسبقًا باستخدام ResetPersistency، يُعاد إنشاء وحدة التخزين تلقائيًا عند الاستدعاء التالي لـ OpenKeyValueStorage [SWS_PER_00358]. بعد الفتح، يمكن إعادة تعيين التعديلات غير المحفوظة عبر DiscardPendingChanges إلى حالة الفتح [SWS_PER_00365]. بالإضافة إلى ذلك، يمكن أن يؤدي الفتح إلى إطلاق تنفيذ ردود الاتصال المسجلة عبر RegisterDataUpdateIndication [SWS_PER_00578].

تم إنشاء ملاحظة الاستخدام هذه بصورة آلية استناداً إلى متطلبات المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result<SharedHandle< KeyValueStorage > >A Result containing a SharedHandle for the KeyValueStorage. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
PerErrc::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if CleanUpPersistency, or ResetPersistency is currently being executed, or if RecoverKeyValueStorage or ResetKeyValue Storage is currently being executed for the same Key-Value Storage. Also, while UpdatePersistency is currently being executed, this error is returned when OpenKeyValueStorage is called outside of the callback registered via RegisterApplicationDataUpdate Callback, or if the used InstanceSpecifier differs from the one provided by the callback.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the values that are added/updated during an implicit update of the Key-Value Storage.
PerErrc::kQuotaExceededrollback_semantics Returned if the values that are added/updated during an implicit update of the Key-Value Storage would exceed the configured maximumAllowedSize.
PerErrc::kAuthenticationFailedrollback_semantics Returned if checking the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00052
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00052@rel:R25-11#547b23f1
Content hash
547b23f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00052
Status: valid/unmigrated Version: rel:R25-11#d4b1e761 Versionshistorie & Revisions (1 transition, 8 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_PER_00052@rel:R25-11#d4b1e761
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#caeeeace2026-09-30
  • R19-11rel:R19-11#34496dec2026-10-14
  • R20-11rel:R20-11#f68c65ef2026-10-14
  • R21-11rel:R21-11#b958923e2026-10-14
  • R22-11rel:R22-11#e940c9852026-10-14
  • R23-11rel:R23-11#704678462026-10-14
  • R24-11rel:R24-11#124418c72026-10-14
  • R25-11rel:R25-11#d4b1e7612026-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

دالة RecoverAllFiles [SWS_PER_00335] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > RecoverAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Recovers a File Storage, including all files. RecoverAllFiles recovers a File Storage when the redundancy checks fail. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles. This method does a best-effort recovery of all files. After recovery, files might show outdated or initial content, or might be lost.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ca84cc440ba3 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تجري الدالة RecoverAllFiles استعادة لوحدة تخزين قائمة على الملفات (File Storage) بما في ذلك جميع الملفات المخزنة بداخلها عند فشل فحوصات التكرار [SWS_PER_00335]. ويتم الاستدعاء بشكل متزامن مع تحديد InstanceSpecifier لنموذج المنفذ المكوّن وتُرجع ara::core::Result<void> [SWS_PER_00335].

تعمل الاستعادة وفقًا لمبدأ بذل أقصى جهد (Best-Effort): بعد الانتهاء، قد تحتوي الملفات على محتويات قديمة، أو قد تتم إعادتها إلى حالتها الأولية، أو قد تُفقد تمامًا [SWS_PER_00335]. وإذا فشل الوصول إلى وسيط التخزين (PerErrc::kPhysicalStorageFailure) أو لم تكن مساحة التخزين كافية (PerErrc::kOutOfStorageSpace)، فلا يوجد ضمان للتراجع [SWS_PER_00335]. وإذا حدث خطأ أثناء التشفير (PerErrc::kEncryptionFailed)، أو فحص السلامة (PerErrc::kAuthenticationFailed)، أو قيود حجم الذاكرة (PerErrc::kQuotaExceeded)، يتم تطبيق دلالات التراجع [SWS_PER_00335]. وإذا لم يتطابق المعرّف مع أي واجهة مكوّنة، فإن هذا ينتج عنه PerErrc::kStorageNotFound [SWS_PER_00335].

على الرغم من أن الدالة آمنة مؤشريًا، إلا أن التنفيذ يفشل مع PerErrc::kResourceBusy طالما كانت وحدة التخزين مفتوحة أو وُجد مقبض مشترك (Shared-Handle) نشط [SWS_PER_00335]، [SWS_PER_00116]. وبالمثل، فإن عمليات التنفيذ المتوازية لـ ResetAllFiles [SWS_PER_00336] لنفس وحدة التخزين وكذلك عمليات التحديث العامة UpdatePersistency [SWS_PER_00357]، وResetPersistency [SWS_PER_00358]، وCleanUpPersistency [SWS_PER_00567] تمنع الاستدعاء [SWS_PER_00335].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على المواصفات.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if ResetAllFiles is currently being executed for the same File Storage, or a Shared Handle of the same File Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered files.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered files would exceed the configured maximumAllowedSize of the File Storage.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00335
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00335@rel:R25-11#975b0373
Content hash
975b0373
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00335
Status: valid/unmigrated Version: rel:R25-11#2f7dfc4c Versionshistorie & Revisions (1 transition, 8 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_PER_00335@rel:R25-11#2f7dfc4c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#73a082452026-09-30
  • R19-11rel:R19-11#3ad2a41d2026-10-14
  • R20-11rel:R20-11#313148252026-10-14
  • R21-11rel:R21-11#524080052026-10-14
  • R22-11rel:R22-11#ec0502c32026-10-14
  • R23-11rel:R23-11#c58779272026-10-14
  • R24-11rel:R24-11#bd0fcca72026-10-14
  • R25-11rel:R25-11#2f7dfc4c2026-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

دالة RecoverKeyValueStorage [SWS_PER_00333] Upstream: RS_PER_00003, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > RecoverKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Recovers a Key-ValueStorage. RecoverKeyValueStorage allows to recover a Key-Value Storage when the redundancy checks fail. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage. This method does a best-effort recovery of all key-value pairs. After recovery, keys might show outdated or initial value, or might be lost.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: ba269bfce693 المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تُستخدم الدالة المتزامنة RecoverKeyValueStorage في مساحة الاسم ara::per لاستعادة وحدة تخزين Key-Value بعد فشل عمليات التحقق من التكرار الإضافي ([SWS_PER_00333]). يتم تمرير ara::core::InstanceSpecifier كمعامل kvs، والذي يشير إلى مسار ShortName الخاص بـ PortPrototype المقابل ([SWS_PER_00333]). تتم الاستعادة وفقاً لمبدأ أقصى جهد ممكن؛ وبعد العملية، قد تظهر للمفاتيح قيم قديمة أو أولية، أو قد تُفقد تماماً ([SWS_PER_00333]).

على الرغم من تحديد الدالة على أنها آمنة لمؤشرات الترابط، إلا أن التنفيذ يفشل مع رمز الخطأ PerErrc::kResourceBusy إذا كانت وحدة تخزين Key-Value المعنية مفتوحة – أي في حال وجود SharedHandle نشط واحد على الأقل ([SWS_PER_00052]، [SWS_PER_00333]). يحدث نفس الخطأ عندما تستدعي مؤشرات ترابط أخرى دوال معدّلة في نفس الوقت: UpdatePersistency ([SWS_PER_00357])، CleanUpPersistency ([SWS_PER_00567])، ResetPersistency ([SWS_PER_00358]) أو ResetKeyValueStorage ([SWS_PER_00334]). وأثناء عملية الاستعادة، يفشل أيضاً استدعاء OpenKeyValueStorage مع kResourceBusy ([SWS_PER_00052]).

يتم إرجاع النتيجة بشكل متزامن كـ ara::core::Result<void>. بالإضافة إلى PerErrc::kResourceBusy، تم تحديد الأخطاء الخاصة التالية ([SWS_PER_00333]):

  • PerErrc::kStorageNotFound: المعرّف الممرر لا يتطابق مع أي واجهة مهيأة.
  • PerErrc::kPhysicalStorageFailure: فشل الوصول إلى وحدة التخزين الفعلية (بدون دلالات تراجع).
  • PerErrc::kOutOfStorageSpace: مساحة تخزين فعلية غير كافية للبيانات المستعادة (بدون دلالات تراجع).
  • PerErrc::kQuotaExceeded: تجاوز الحد الأقصى للطول المكون (maximumAllowedSize).
  • PerErrc::kEncryptionFailed و PerErrc::kAuthenticationFailed: أخطاء في التشفير أو حساب MAC.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي استناداً إلى مواصفة AUTOSAR.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if ResetKeyValue Storage is currently being executed for the same Key-Value Storage, or a SharedHandle of the same Key-Value Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered values.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered values would exceed the configured maximumAllowedSize of the Key-Value Storage.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00333
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00333@rel:R25-11#d3a06e2b
Content hash
d3a06e2b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00333
Status: valid/unmigrated Version: rel:R25-11#6863ad8c Versionshistorie & Revisions (1 transition, 8 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_PER_00333@rel:R25-11#6863ad8c
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ea3338422026-09-30
  • R19-11rel:R19-11#3c9d0f722026-10-14
  • R20-11rel:R20-11#8230292c2026-10-14
  • R21-11rel:R21-11#dff1a22a2026-10-14
  • R22-11rel:R22-11#e3e6a2c42026-10-14
  • R23-11rel:R23-11#d7c298b92026-10-14
  • R24-11rel:R24-11#093db65f2026-10-14
  • R25-11rel:R25-11#6863ad8c2026-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

دالة RegisterApplicationDataUpdateCallback [SWS_PER_00356] Upstream: RS_PER_00013, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterApplicationDataUpdateCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::core::String contract Version)> appDataUpdateCallback) noexcept;

Registers an application data update callback with Persistency. The provided callback function will be called by Persistency if an update of stored application data might be necessary. This decision is based on the contract versions. The contract version that last accessed Persistency is provided as an argument to the callback, as well as the ara::core::InstanceSpecifier referring to the updated Key- Value Storage or File Storage. Based on this information, the Adaptive Application can decide which updates are actually necessary, e.g. a migration from any older contract version could be supported, with different steps required for each of these. The provided function will be called from the context of ara::per::UpdatePersistency, ara::per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
appDataUpdateCallbackThe callback function to be called by Persistency after an update of persistent data took place. The function will be called with the shortName path of an updated Key-Value Storage or File Storage, and with the contract version with which the Persistency was last accessed.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_PER_00356
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00356@rel:R25-11#7af050c6
Content hash
7af050c6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00356
Status: valid/unmigrated Version: rel:R25-11#b578b750 Versionshistorie & Revisions (1 transition, 8 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_PER_00356@rel:R25-11#b578b750
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ddfa8c352026-09-30
  • R19-11rel:R19-11#34e96d122026-10-14
  • R20-11rel:R20-11#86e5368a2026-10-14
  • R21-11rel:R21-11#86e5368a2026-10-14
  • R22-11rel:R22-11#abcf8b8d2026-10-14
  • R23-11rel:R23-11#691305fc2026-10-14
  • R24-11rel:R24-11#60beb5142026-10-14
  • R25-11rel:R25-11#b578b7502026-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

دالة RegisterDataUpdateIndication [SWS_PER_00578] Upstream: RS_PER_00013, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterDataUpdateIndication (std::function< void(const ara::core::InstanceSpecifier &updatedStorage, ara::core::StringView updatedElement)> dataUpdateIndication, ara::core::InstanceSpecifier monitoredStorage, ara::core::Vector< ara::core::String > monitored Elements) noexcept;

Registers a data update indication callback with Persistency. The provided callback function will be called by Persistency when an update of stored data happened. It will be called from the context of ara::per::UpdatePersistency, ara:: per::OpenKeyValueStorage, or ara::per::OpenFileStorage.

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
dataUpdateIndicationThe callback function to be called by Persistency after an update of persistent data took place. The function will be called with the shortName path of an updated Key-Value Storage or File Storage, and with the the updated elements of the storage.
monitoredStorageA Key-Value Storage or File Storage for which updates shall be reported.
monitoredElementsA set of elements for which updates shall be reported.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_PER_00578
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00578@rel:R25-11#5d48b860
Content hash
5d48b860
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00578
Status: valid/unmigrated Version: rel:R25-11#59c9fead Versionshistorie & Revisions (1 transition, 3 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_PER_00578@rel:R25-11#59c9fead
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#685948a72026-09-30
  • R24-11rel:R24-11#9946b5902026-10-14
  • R25-11rel:R25-11#59c9fead2026-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

دالة RegisterRecoveryReportCallback [SWS_PER_00433] Upstream: RS_PER_00008, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00137, RS_AP_00159

void RegisterRecoveryReportCallback (std::function< void(const ara::core::InstanceSpecifier &storage, ara::per::RecoveryReportKind recoveryReportKind, ara::core::Vector< ara::core::String > reported Elements, ara::core::Vector< std::uint8_t > reportedInstances)> recoveryReportCallback) noexcept;

Register a recovery reporting callback with Persistency. This callback can be used in safety-aware Adaptive Applications to detect actions of the Persistency that are related to the correctness of the persisted data and the reliability of the storage.

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

تُستخدم الدالة RegisterRecoveryReportCallback في مساحة الأسماء ara::per ([SWS_PER_00433]) لتسجيل روتين رد نداء لدى مكوّن Persistency. وتُستخدم في Adaptive Applications الموجهة نحو السلامة لاكتشاف الإجراءات التصحيحية لـ Persistency فيما يتعلق بصحة البيانات المستمرة وموثوقية التخزين [SWS_PER_00433].

المعاملات ودلالات الاستدعاء

يتم تمرير recoveryReportCallback كمعلمة، وهو std::function يتم استدعاؤه بواسطة Persistency عند تصحيح الأخطاء في البيانات المخزنة بنجاح باستخدام التكرار الزائد المتاح [SWS_PER_00433]. ويتم تمرير معلومات السياق التالية إلى رد النداء [SWS_PER_00433]:

  • storage: مسار (shortName) وحدة Key-Value Storage أو File Storage المتأثرة كـ ara::core::InstanceSpecifier.
  • recoveryReportKind: نوع تقرير الاسترداد (ara::per::RecoveryReportKind).
  • reportedElements: متجه لمعرفات العناصر المتأثرة (ara::core::Vector<ara::core::String>).
  • reportedInstances: متجه للمثيلات المتأثرة (ara::core::Vector<std::uint8_t>).

معالجة الأخطاء والتزامن

لا تُرجع الدالة أي قيمة وتم التصريح عنها كـ noexcept؛ وتعتبر آمنة من الاستثناءات (exception safe) [SWS_PER_00433]. ولا توجد رموز خطأ خاصة بها [SWS_PER_00433]. فيما يتعلق بأمان خيوط المعالجة، تم تصنيف الواجهة كـ not thread-safe [SWS_PER_00433]. لذلك، من المحتمل أن يتم الاستدعاء عادة في مرحلة تهيئة التطبيق قبل بدء عمليات الوصول المتزامنة إلى التخزين. سؤال Q-e5b93ea58fb56a1c (مفتوح)

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي وتستند إلى مواصفات منصة AUTOSAR.

Header-Datei#include "ara/per/recovery.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
recoveryReportCallbackThe callback function to be called by Persistency to report errors in the stored data that were corrected using the available redundancy. The function will be called with the shortName path of the affected Key-Value Storage or File Storage in storage and information on what has been corrected, placed in the parameters recoveryReport Kind, reportedElements, and reportedInstances.

Rückgabewert

TypBeschreibung
None

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

Record
AUTOSAR/AP/record/SWS_PER_00433
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00433@rel:R25-11#e61b368f
Content hash
e61b368f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00433
Status: valid/unmigrated Version: rel:R25-11#69cc138a Versionshistorie & Revisions (1 transition, 7 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_PER_00433@rel:R25-11#69cc138a
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#627aa0e12026-09-30
  • R20-11rel:R20-11#3a84481e2026-10-14
  • R21-11rel:R21-11#a74b248f2026-10-14
  • R22-11rel:R22-11#cb37dbf52026-10-14
  • R23-11rel:R23-11#6ca484be2026-10-14
  • R24-11rel:R24-11#71de55b32026-10-14
  • R25-11rel:R25-11#69cc138a2026-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

دالة ReloadPersistencyManifest [SWS_PER_00577] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ReloadPersistencyManifest () noexcept;

Re-reads the Target Configuration. This method can be used to prepare for updates of the Key-Value Storages and File Storages of Persistency after a new Target Configuration was installed by UCM while the Adaptive Application that uses Persistency is running. Storages are only updated after closing them, either when they are opened again or by an explicit call to ara:: per::UpdatePersistency.

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

تعيد الدالة المتزامنة ReloadPersistencyManifest من مساحة الاسم ara::per (المُصرح عنها في #include "ara/per/update.h") قراءة التهيئة المستهدفة (Target Configuration) للاستمرارية [SWS_PER_00577]. وتعمل على إعداد تحديثات Key-Value Storages وFile Storages بعد تثبيت تهيئة مستهدفة جديدة بواسطة Update and Config Management (UCM) أثناء وقت تشغيل الـ Adaptive Application [SWS_PER_00577].

عادةً ما يتحقق التطبيق مسبقًا باستخدام CheckForManifestUpdate [SWS_PER_00576] مما إذا كان هناك تحديث للتهيئة، ثم يستدعي ReloadPersistencyManifest بعد ذلك [SWS_PER_00576]. ومع ذلك، فإن إعادة القراءة لا تحدث وحدات التخزين المستمرة على الفور: لا يتم تحديث وحدات التخزين إلا بعد إغلاقها – إما عند إعادة فتحها أو عبر استدعاء صريح لـ ara::per::UpdatePersistency [SWS_PER_00577]. تفسير: على الأرجح لا يتم إغلاق مساحات التخزين المفتوحة بالفعل تلقائيًا بواسطة هذا الاستدعاء، مما يلزم التطبيق بإغلاقها بنفسه أو تحديثها بشكل صريح. سؤال Q-16f9dae418feb3fa (مفتوح)

لا تأخذ الدالة أي معاملات وتعيد ara::core::Result<void> [SWS_PER_00577]. في حالة حدوث خطأ، تحتوي النتيجة على أخطاء خاصة بالجهة المصنعة أو على أحد رموز الخطأ التالية ذات دلالات التراجع (Rollback) [SWS_PER_00577]:

  • kPhysicalStorageFailure: يحدث إذا فشل الوصول إلى وحدة التخزين الفعلية أثناء عملية القراءة [SWS_PER_00577].
  • kIntegrityCorrupted: يحدث إذا تعذر قراءة البيانات المخزنة بسبب تلف السلامة الهيكلية [SWS_PER_00577].

فيما يتعلق بالتزامن، تم تحديد الدالة بأنها ليست آمنة للخيوط (not thread-safe)، ولكن تم التصريح عنها بأنها آمنة من الاستثناءات (exception safe) وnoexcept [SWS_PER_00577]. لذلك، يجب مزامنة الاستدعاءات المتوازية من جانب التطبيق.

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى المواصفة.

دليل المنفِّذ قيد الإعداد (التعقيد I1)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failurerollback_semantics Returned if access to the physical storage fails during the read operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.

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

Record
AUTOSAR/AP/record/SWS_PER_00577
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00577@rel:R25-11#f0e6d504
Content hash
f0e6d504
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00577
Status: valid/unmigrated Version: rel:R25-11#7f7b5c0c Versionshistorie & Revisions (1 transition, 3 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_PER_00577@rel:R25-11#7f7b5c0c
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#68a8e5e42026-09-30
  • R24-11rel:R24-11#685afcab2026-10-14
  • R25-11rel:R25-11#7f7b5c0c2026-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

دالة ResetAllFiles [SWS_PER_00336] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetAllFiles (const ara::core::Instance Specifier &fs) noexcept;

Resets a File Storage, including all files. ResetAllFiles resets a File Storage to the initial state, containing only the files which were deployed from the Target Configuration, with their initial content. Afterwards, the File Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the File Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, ResetPersistency, RecoverAllFiles, or ResetAllFiles.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: f645139d391c المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تعيد الدالة ResetAllFiles تعيين وحدة File Storage بشكل متزامن إلى حالة التسليم الأولية الخاصة بها وفقًا لـ Target Configuration الحالية [SWS_PER_00336]. وبعد التنفيذ الناجح، تحتوي وحدة التخزين حصريًا على الملفات المحددة هناك بمحتوياتها الأصلية، كما لو أنه تم تثبيتها من جديد [SWS_PER_00336].

الاستخدام والتزامن: يُمرَّر عبر المعلمة fs مُعرِّف المثيل لـ PortPrototype ذي النوع PersistencyFileStorageInterface [SWS_PER_00336]. ورغم أن الدالة مُحدَّدة على أنها thread-safe وexception safe، إلا أنها تتطلب وصولاً حصرياً إلى وحدة التخزين: فإذا كانت وحدة التخزين مفتوحة حالياً (على سبيل المثال عبر SharedHandle نشط من OpenFileStorage [SWS_PER_00116]) أو يجري تعديلها بشكل متزامن بواسطة UpdatePersistency [SWS_PER_00357] أو CleanUpPersistency [SWS_PER_00567] أو ResetPersistency [SWS_PER_00358] أو RecoverAllFiles [SWS_PER_00335] أو استدعاء آخر لـ ResetAllFiles، فإن التنفيذ يفشل [SWS_PER_00336].

معالجة الأخطاء: تُرجع الدالة ara::core::Result<void> [SWS_PER_00336]. رموز الخطأ المحتملة من PerErrc هي:

  • kResourceBusy: وحدة تخزين الملفات مفتوحة أو يجري تعديلها بشكل متزامن (دلالات التراجع Rollback) [SWS_PER_00336].
  • kStorageNotFound: المُعرِّف لا يطابق أي واجهة تم تكوينها للملف التنفيذي [SWS_PER_00336].
  • kPhysicalStorageFailure أو kOutOfStorageSpace: خطأ في وحدة التخزين الفعلية أو عدم كفاية مساحة التخزين (بدون دلالات التراجع) [SWS_PER_00336].
  • kEncryptionFailed أو kAuthenticationFailed: خطأ أثناء التشفير أو حساب MAC (دلالات التراجع) [SWS_PER_00336].

التفاعل: بعد إعادة التعيين، تمتلك الملفات المستعادة عند الاستعلام عن حالتها الحالة FileCreationState::kCreatedDuringReset [SWS_PER_00435] وكذلك FileModificationState::kModifiedDuringReset [SWS_PER_00436].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kStorageNot rollback_semantics

Parameter (in)

ParameterBeschreibung
fsThe shortName path of a PortPrototype typed by a PersistencyFile StorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
FoundReturned if the passed InstanceSpecifier does not match any PersistencyFileStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if RecoverAllFiles is currently being executed for the same File Storage, or a Shared Handle of the same File Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial files.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00336
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00336@rel:R25-11#40f0b9d1
Content hash
40f0b9d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00336
Status: valid/unmigrated Version: rel:R25-11#e599a530 Versionshistorie & Revisions (1 transition, 8 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_PER_00336@rel:R25-11#e599a530
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#58b5b3b72026-09-30
  • R19-11rel:R19-11#6f3f0cf62026-10-14
  • R20-11rel:R20-11#a8b98a422026-10-14
  • R21-11rel:R21-11#886423992026-10-14
  • R22-11rel:R22-11#3a2ec7602026-10-14
  • R23-11rel:R23-11#6a7428df2026-10-14
  • R24-11rel:R24-11#b2af05972026-10-14
  • R25-11rel:R25-11#e599a5302026-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

دالة ResetKeyValueStorage [SWS_PER_00334] Upstream: RS_PER_00003, RS_PER_00009, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00137, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetKeyValueStorage (const ara::core::InstanceSpecifier &kvs) noexcept;

Resets a Key-Value Storage to the initial state. ResetKeyValueStorage allows to reset a Key-Value Storage to the initial state, containing only key-value pairs which were deployed from the Target Configuration, with their initial values. Afterwards, the Key-Value Storage will appear as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the Key-Value Storage is currently open, or when it is modified by a call from another thread to UpdatePersistency, CleanUpPersistency, Reset Persistency, RecoverKeyValueStorage, or ResetKeyValueStorage.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 48697319880f المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

تعيد الدالة المتزامنة ResetKeyValueStorage تعيين Key-Value-Storage محدد إلى حالته الأولية [SWS_PER_00334]. بعد التنفيذ الناجح، يحتوي التخزين حصرياً على أزواج المفتاح والقيمة بقيمها الأولية التي تم توفيرها عبر Target Configuration؛ وبعد ذلك يتصرف التخزين كما لو تم تثبيته حديثاً من التكوين الحالي [SWS_PER_00334]. يتم تمرير مسار kvs كـ ara::core::InstanceSpecifier، والذي يشير إلى PortPrototype الخاص بـ PersistencyKeyValueStorageInterface مهيأ [SWS_PER_00334].

تم تحديد الدالة على أنها thread-safe و exception safe، ولكنها تخضع لشروط تزامن صارمة فيما يتعلق بوحدات التخزين المفتوحة وعمليات الاستدامة العامة [SWS_PER_00334]:

  • يفشل الاستدعاء مع PerErrc::kResourceBusy، إذا كان Key-Value-Storage المعني مفتوحاً حالياً (أي لا يزال هناك SharedHandle موجوداً، انظر [SWS_PER_00052]) أو إذا تم تنفيذ استعادة باستخدام RecoverKeyValueStorage [SWS_PER_00333] في نفس الوقت على نفس التخزين [SWS_PER_00334].
  • يؤدي التنفيذ المتوازي للعمليات العامة UpdatePersistency [SWS_PER_00357]، CleanUpPersistency [SWS_PER_00567]، ResetPersistency [SWS_PER_00358] أو الاستدعاء المتزامن لـ ResetKeyValueStorage في مؤشر ترابط آخر أيضاً إلى kResourceBusy [SWS_PER_00334].

كنتيجة، تقدم الدالة ara::core::Result<void> [SWS_PER_00334]. في حالة حدوث خطأ، تظهر رموز الخطأ المحددة التالية إلى جانب kResourceBusy: PerErrc::kStorageNotFound (InstanceSpecifier غير صالح)، و PerErrc::kPhysicalStorageFailure (خطأ في الوصول إلى وسيط التخزين، بدون دلالات تراجع)، و PerErrc::kOutOfStorageSpace (مساحة تخزين غير كافية للقيم الأولية، بدون دلالات تراجع)، و PerErrc::kEncryptionFailed (خطأ في التشفير) بالإضافة إلى PerErrc::kAuthenticationFailed (خطأ في حساب MAC) [SWS_PER_00334].

تم إنشاء ملاحظة الاستخدام هذه بواسطة ذكاء اصطناعي بناءً على مواصفات AUTOSAR R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
kvsThe shortName path of a PortPrototype typed by a PersistencyKey ValueStorageInterface.

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
PerErrc::kStorageNotFoundrollback_semantics Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if UpdatePersistency, CleanUpPersistency, or Reset Persistency is currently being executed, or if RecoverKeyValue Storage is currently being executed for the same Key-Value Storage, or a SharedHandle of the same Key-Value Storage is currently in use.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial values.
PerErrc::kAuthenticationFailedrollback_semantics Returned if calculating the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00334
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00334@rel:R25-11#5744a4d1
Content hash
5744a4d1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00334
Status: valid/unmigrated Version: rel:R25-11#6250b32b Versionshistorie & Revisions (1 transition, 8 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_PER_00334@rel:R25-11#6250b32b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#370e52a02026-09-30
  • R19-11rel:R19-11#cd1560792026-10-14
  • R20-11rel:R20-11#1ed663b32026-10-14
  • R21-11rel:R21-11#f31fb8fb2026-10-14
  • R22-11rel:R22-11#764c93d52026-10-14
  • R23-11rel:R23-11#f7e8d0052026-10-14
  • R24-11rel:R24-11#cdcd205a2026-10-14
  • R25-11rel:R25-11#6250b32b2026-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

دالة ResetPersistency [SWS_PER_00358] Upstream: RS_PER_00009, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > ResetPersistency () noexcept;

Resets all Key-Value Storages and File Storages by entirely removing their content. The Key-Value Storages and File Storages will be re-created when ara::per:: OpenFileStorage or ara::per::OpenKeyValueStorage is called next time.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: d1720067a24e المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تُستخدم الدالة المتزامنة ResetPersistency ([SWS_PER_00358]) من ملف الترويسة ara/per/update.h لإعادة التعيين الكامل لجميع وحدات تخزين المفتاح-القيمة والملفات الخاصة بأحد التطبيقات. عند الاستدعاء، يتم حذف كافة المحتويات الدائمة دون ترك أي أثر. ولا يتم إعادة إنشاء وحدات التخزين نفسها على الفور، بل يتم إنشاؤها مجددًا فقط عند الاستدعاء التالي لـ ara::per::OpenKeyValueStorage ([SWS_PER_00052]) أو ara::per::OpenFileStorage ([SWS_PER_00116]). وتحصل الملفات التي يتم توفيرها مجددًا بعد إعادة التعيين على حالة الإنشاء FileCreationState::kCreatedDuringInstallation ([SWS_PER_00435]).

معالجة الأخطاء

تُرجع الدالة كقيمة إرجاع ara::core::Result<void> ([SWS_PER_00358]). إذا فشل الوصول إلى وسيط التخزين المادي أثناء العملية، تُرجع الدالة kPhysicalStorageFailure بدون دلالة التراجع. وإذا كانت الموارد الدائمة مشغولة أو يتم تعديلها بشكل متوازٍ، يتم إلغاء الاستدعاء مع kResourceBusy ودلالة تراجع نشطة ([SWS_PER_00358]). بالإضافة إلى ذلك، قد تحدث أخطاء خاصة بالشركة المصنعة.

التزامن والقيود

تم التصريح عن الواجهة بأنها exception safe، ولكن تم تصنيفها صراحةً بأنها not thread-safe ([SWS_PER_00358]). وهي تفشل مع kResourceBusy بمجرد:

  • أن تكون هناك عمليات عامة قيد التنفيذ بالفعل مثل UpdatePersistency ([SWS_PER_00357]) أو CleanUpPersistency ([SWS_PER_00567])،
  • أو معالجة وحدة تخزين فردية بشكل متوازٍ عبر RecoverKeyValueStorage، ResetKeyValueStorage، RecoverAllFiles ([SWS_PER_00335]) أو ResetAllFiles ([SWS_PER_00336])،
  • أو استمرار وجود SharedHandle نشط واحد على الأقل لوحدة تخزين مفتاح-قيمة أو ملفات ([SWS_PER_00358]).

طالما أن ResetPersistency قيد التشغيل، تؤدي محاولات الفتح المتزامنة عبر OpenKeyValueStorage ([SWS_PER_00052]) أو OpenFileStorage ([SWS_PER_00116]) في خيوط أخرى أيضًا إلى kResourceBusy.

تم إنشاء هذا النص بواسطة ذكاء اصطناعي. مواصفات AUTOSAR هي المرجع الحاسم.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failureno_rollback_semantics Returned if access to the physical storage fails during the reset operation.
kResourceBusyrollback_semantics Returned if ara::per::UpdatePersistency or ara::per:: CleanUpPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.

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

Record
AUTOSAR/AP/record/SWS_PER_00358
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00358@rel:R25-11#395a4a0b
Content hash
395a4a0b
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00358
Status: valid/unmigrated Version: rel:R25-11#5a943877 Versionshistorie & Revisions (1 transition, 8 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_PER_00358@rel:R25-11#5a943877
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c8860b2d2026-09-30
  • R19-11rel:R19-11#8d6229f02026-10-14
  • R20-11rel:R20-11#cdbd91872026-10-14
  • R21-11rel:R21-11#58c165482026-10-14
  • R22-11rel:R22-11#675e4de82026-10-14
  • R23-11rel:R23-11#9628a79f2026-10-14
  • R24-11rel:R24-11#a5d729472026-10-14
  • R25-11rel:R25-11#5a9438772026-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

دالة UpdatePersistency [SWS_PER_00357] Upstream: RS_PER_00013, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > UpdatePersistency () noexcept;

Updates all Persistency Key-Value Storages and File Storages after a new Target Configuration was installed. This method can be used to update the persistent data of the Adaptive Application during verification phase.

مُولَّد بالذكاء الاصطناعي غير مُراجَع النموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: a05074f12eed المصدر
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني

الاستخدام

تحدّث الدالة المتزامنة ara::per::UpdatePersistency ([SWS_PER_00357]، ملف الترويسة ara/per/update.h) كافة وحدات تخزين المفتاح-القيمة وتخزين الملفات لتطبيق ما بعد تثبيت تكوين هدف جديد. وهي تُستخدم لتحديث البيانات المستدامة لتطبيق Adaptive أثناء مرحلة التحقق [SWS_PER_00357]. ولا تأخذ الدالة أي معلمات تمرير وتُرجع ara::core::Result<void> [SWS_PER_00357].

معالجة الأخطاء

في حالة حدوث خطأ، يحتوي Result المرجع على كود خطأ محدد أو خطأ خاص بالشركة المصنعة [SWS_PER_00357]. ويتم التمييز هنا بين العمليات ذات دلالات التراجع والعمليات التي بدونها:

  • دلالات التراجع: عند kIntegrityCorrupted وkValidationFailed وkEncryptionFailed وkAuthenticationFailed وkTooManyFiles (تجاوز maxNumberOfFiles) وkQuotaExceeded (تجاوز MaximumAllowedSize) وكذلك kResourceBusy، يتم التراجع عن التغييرات التي أُجريت [SWS_PER_00357].
  • بدون دلالات التراجع: عند حدوث أخطاء في التخزين المادي (kPhysicalStorageFailure) وكذلك عدم كفاية مساحة التخزين المادية (kOutOfStorageSpace)، لا يُضمن التراجع [SWS_PER_00357].

التزامن والقيود

تم تحديد الدالة على أنها آمنة من الاستثناءات (exception safe)، ولكنها صراحةً ليست آمنة خيطيًا (not thread-safe) [SWS_PER_00357]. ويفشل الاستدعاء مع kResourceBusy بمجرد أن يظل SharedHandle الخاص بوحدة تخزين مفتاح-قيمة أو تخزين ملفات قيد الاستخدام، أو عند تنفيذ دوال صيانة بالتوازي مثل CleanUpPersistency [SWS_PER_00567] أو ResetPersistency [SWS_PER_00358] أو RecoverKeyValueStorage [SWS_PER_00333] أو ResetKeyValueStorage [SWS_PER_00334] أو RecoverAllFiles [SWS_PER_00335] أو ResetAllFiles [SWS_PER_00336] [SWS_PER_00357]. وبالمثل، تفشل الاستدعاءات المتزامنة لـ OpenKeyValueStorage [SWS_PER_00052] وOpenFileStorage [SWS_PER_00116] من خيوط أخرى أثناء التحديث مع kResourceBusy أيضًا.

تفاعل

إذا قام UCM بتثبيت تكوين هدف جديد أثناء التشغيل وتمت إعادة قراءته عبر ReloadPersistencyManifest [SWS_PER_00577]، فسيتم تحديث وحدات التخزين المغلقة عبر UpdatePersistency. وإذا تم تسجيل ردود اتصال مسبقًا عبر RegisterDataUpdateIndication [SWS_PER_00578] أو RegisterApplicationDataUpdateCallback [SWS_PER_00356]، فسيتم استدعاؤها بشكل متزامن في سياق UpdatePersistency [SWS_PER_00578].

تم إنشاء ملاحظة الاستخدام هذه آليًا استنادًا إلى مواصفة AUTOSAR R25-11.

دليل المنفِّذ قيد الإعداد (التعقيد I2)

Header-Datei#include "ara/per/update.h"
Scopenamespace ara::per
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result< void >A Result of void. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
kPhysicalStorage-Failureno_rollback_semantics Returned if access to the physical storage fails during the update operation.
kIntegrityCor-ruptedrollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted.
kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails during the update operation.
kResourceBusyrollback_semantics Returned if ara::per::CleanUpPersistency or ara::per:: ResetPersistency is currently being executed, or if ara:: per::RecoverKeyValueStorage or ara::per:: ResetKeyValueStorage is currently being executed for any Key-Value Storage, or if ara::per::RecoverAllFiles or ara::per::ResetAllFiles is currently being executed for any File Storage, or a ara::per::SharedHandle of a Key- Value Storage or a File Storage is currently in use.
kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the update.
kTooManyFilesrollback_semantics Returned if the files added during the update of any File Storage would exceed the configured PersistencyFileStorageInterface.maxNumberOfFiles.
kQuotaExceededrollback_semantics Returned if the update would exceed the configured PersistencyCommon.MaximumAllowedSize of any Key- Value Storage or File Storage.
kAuthentication-Failedrollback_semantics Returned if calculating or checking the MAC of stored data fails.

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

Record
AUTOSAR/AP/record/SWS_PER_00357
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00357@rel:R25-11#db97cd12
Content hash
db97cd12
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00357
Status: valid/unmigrated Version: rel:R25-11#1d0f3ff3 Versionshistorie & Revisions (1 transition, 8 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_PER_00357@rel:R25-11#1d0f3ff3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#77e03de52026-09-30
  • R19-11rel:R19-11#b69714eb2026-10-14
  • R20-11rel:R20-11#2ada0bc82026-10-14
  • R21-11rel:R21-11#fc219af52026-10-14
  • R22-11rel:R22-11#8c6aea8d2026-10-14
  • R23-11rel:R23-11#9bb026b22026-10-14
  • R24-11rel:R24-11#936392f02026-10-14
  • R25-11rel:R25-11#1d0f3ff32026-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

دالة operator| [SWS_PER_00144] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121

constexpr OpenMode operator| (OpenMode left, OpenMode right);

Merges two OpenMode modifiers into one.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
leftFirst OpenMode modifiers.
rightSecond OpenMode modifiers.

Rückgabewert

TypBeschreibung
OpenModereturns Merged OpenMode modifiers.

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

Record
AUTOSAR/AP/record/SWS_PER_00144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00144@rel:R25-11#260a1a8a
Content hash
260a1a8a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00144
Status: valid/unmigrated Version: rel:R25-11#be0c00de Versionshistorie & Revisions (1 transition, 8 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_PER_00144@rel:R25-11#be0c00de
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#089c02522026-09-30
  • R19-11rel:R19-11#4ac4ea742026-10-14
  • R20-11rel:R20-11#d1a0a9db2026-10-14
  • R21-11rel:R21-11#a74548b62026-10-14
  • R22-11rel:R22-11#f391a35f2026-10-14
  • R23-11rel:R23-11#0b63b8d12026-10-14
  • R24-11rel:R24-11#be0c00de2026-10-14
  • R25-11rel:R25-11#be0c00de2026-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

دالة operator|= [SWS_PER_00434] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121

OpenMode & operator|= (OpenMode &left, const OpenMode &right);

Merges an OpenMode modifier into this OpenMode.

Header-Datei#include "ara/per/file_storage.h"
Scopenamespace ara::per
Exception-Sicherheitnot exception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
leftLeft OpenMode modifiers.
rightRight OpenMode modifiers.

Rückgabewert

TypBeschreibung
OpenMode &returns The modified OpenMode.

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

Record
AUTOSAR/AP/record/SWS_PER_00434
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00434@rel:R25-11#fb381e4c
Content hash
fb381e4c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00434
Status: valid/unmigrated Version: rel:R25-11#481cc8ef Versionshistorie & Revisions (1 transition, 7 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_PER_00434@rel:R25-11#481cc8ef
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#eda27c892026-09-30
  • R20-11rel:R20-11#7995a25b2026-10-14
  • R21-11rel:R21-11#7c5577592026-10-14
  • R22-11rel:R22-11#483368c52026-10-14
  • R23-11rel:R23-11#951ada062026-10-14
  • R24-11rel:R24-11#481cc8ef2026-10-14
  • R25-11rel:R25-11#481cc8ef2026-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