कुंजी-मान और फ़ाइल संग्रहण के माध्यम से एप्लिकेशन डेटा के पर्सिस्टेंट स्टोरेज और प्रबंधन को सक्षम बनाता है।
एआई-जनितअसत्यापितमॉडल: gemini-3.8-flash-medium · प्रयास: medium · तापमान: नियंत्रित नहीं किया जा सकता · प्रॉम्प्ट: 9cb072b2740aउद्गमखुले प्रश्न (1)
जर्मन मार्गदर्शिका से अनूदितgemini-3.8-flash-low · 2026-10-13 · जर्मन मूल
कुंजी-मान और फ़ाइल संग्रहण के माध्यम से एप्लिकेशन डेटा के पर्सिस्टेंट स्टोरेज और प्रबंधन को सक्षम बनाता है।
नेमस्पेस ara::per पर्सिस्टेंट डेटा स्टोरेज के लिए इंटरफ़ेस प्रदान करता है, जिससे Adaptive एप्लिकेशन इंस्टेंस पहचानकर्ताओं के माध्यम से फ़ाइल-आधारित और कुंजी-मान-आधारित स्टोरेज क्षेत्रों तक पहुंच सकते हैं ([SWS_PER_00052], [SWS_PER_00116])। एप्लिकेशन साझा हैंडल के माध्यम से खुले स्टोरेज का प्रबंधन करते हैं, मैनिफ़ेस्ट परिवर्तनों पर समन्वित अपडेट निष्पादित करते हैं, और पुनर्प्राप्ति तंत्र के माध्यम से असंगत डेटा की मरम्मत कर सकते हैं ([SWS_PER_00333], [SWS_PER_00357])। जबकि स्टोरेज एक्सेस हैंडल के माध्यम से समवर्ती रूप से होता है, प्रशासनिक संचालन जैसे अपडेट या स्टोरेज रीसेट के लिए समवर्ती एक्सेस की अनुपस्थिति की आवश्यकता होती है ([SWS_PER_00311])।
संदर्भ
नेमस्पेस ara::per AUTOSAR Adaptive Platform के लिए पर्सिस्टेंस फ़ंक्शन क्लस्टर के इंटरफ़ेस प्रदान करता है। इसकी प्राथमिक ज़िम्मेदारी सिस्टम बूट और प्रक्रिया जीवन चक्रों के दौरान एप्लिकेशन डेटा का स्थायी, मेमोरी-सर्वाइविंग स्टोरेज है। मॉड्यूल दो बुनियादी स्टोरेज प्रतिमानों के बीच अंतर करता है: संरचित कुंजी-मान युग्मों के लिए KeyValueStorage और फ़ाइल-आधारित स्टोरेज एक्सेस के लिए FileStorage। Adaptive एप्लिकेशन 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])।
स्टोरेज ऑब्जेक्ट्स तक पहुंच हैंडल अमूर्तताओं के माध्यम से नियंत्रित होती है। 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 के अगले कॉल पर होता है।
एक विशिष्ट एप्लिकेशन वर्कफ़्लो में कॉन्फ़िगरेशन अपडेट की जांच करना, डेटा माइग्रेशन लागू करना और बाद में स्टोरेज एक्सेस करना शामिल है:
नियमित संचालन से पहले या उसके दौरान, एप्लिकेशन 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]) के माध्यम से निर्धारित किया जा सकता है।
नेमस्पेस में त्रुटियों को मानकीकृत रूप से PerErrorDomain ([SWS_PER_00352]) और MakeErrorCode ([SWS_PER_00351]) के संयोजन में एन्यूमरेशन PerErrc ([SWS_PER_00311]) के माध्यम से संकेतित किया जाता है। घोषित वर्ग PerException संभवतः उन परिवेशों के लिए एक C++ अपवाद प्रकार के रूप में कार्य करता है जिनमें त्रुटियों को ara::core::Result के माध्यम से नहीं बल्कि अपवादों के माध्यम से नियंत्रित किया जाता है (व्याख्या)। प्रश्न Q-263982a4a4dae284 (खुला)
केंद्रीय त्रुटि परिदृश्यों में शामिल हैं:
कॉन्फ़िगरेशन और एड्रेसिंग त्रुटियां: यदि पास किया गया InstanceSpecifier मॉडल में कॉन्फ़िगर किए गए किसी भी पोर्ट इंटरफ़ेस से मेल नहीं खाता है, तो PerErrc::kStorageNotFound के साथ खोलना विफल हो जाता है ([SWS_PER_00052], [SWS_PER_00116], [SWS_PER_00311])। गैर-मौजूद फ़ाइलों पर फ़ाइल एक्सेस PerErrc::kFileNotFound उत्पन्न करता है ([SWS_PER_00311])।
अखंडता हानि और पुनर्प्राप्ति: संरचनात्मक क्षति (PerErrc::kIntegrityCorrupted) या विफल अतिरेक जांच (PerErrc::kValidationFailed) के मामले में, ara::perRecoverKeyValueStorage ([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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
=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.
=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.
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 · जर्मन मूल
उपयोग
हेडर ara/per/update.h से सिंक्रोनस फ़ंक्शन CheckForManifestUpdate नेमस्पेस ara::per में जाँच करता है कि क्या Persistency Target Configuration के अपडेट्स उपलब्ध हैं [SWS_PER_00576]। इसका उपयोग उन कॉन्फ़िगरेशन परिवर्तनों का पता लगाने के लिए किया जाता है जो Update and Configuration Management (UCM) द्वारा उस समय लागू किए गए थे जब Persistency का उपयोग करने वाला अनुकूली अनुप्रयोग (Adaptive Application) पहले से चल रहा हो [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: तब होता है जब संग्रहीत डेटा को दूषित संरचनात्मक अखंडता (corrupted structural integrity) के कारण पढ़ा नहीं जा सकता है [SWS_PER_00576]।
इंटरैक्शन
यदि किसी अपडेट का पता चलता है (रिटर्न मान true), तो एप्लिकेशन को बाद में परिवर्तित Target Configuration को वास्तव में पुनः पढ़ने के लिए ara::per::ReloadPersistencyManifest को कॉल करना होगा [SWS_PER_00576]।
यह पाठ एक AI द्वारा उत्पन्न किया गया था और यह विनिर्देश के आधार पर एक ओरिएंटेशन सहायता के रूप में कार्य करता है।
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
Fehlercode
Beschreibung
kPhysicalStorage-Failure
rollback_semantics Returned if access to the physical storage fails during the checking operation.
kIntegrityCor-rupted
rollback_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.
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 · जर्मन मूल
उपयोग
ara/per/update.h से सिंक्रोनस फ़ंक्शन CleanUpPersistency किसी इंस्टेंस के सभी Key-Value और File-Storages से बैकअप डेटा (Backup Data) और अन्य अप्रयुक्त डेटा को हटाने का कार्य करता है [SWS_PER_00567]। यह कोई पैरामीटर स्वीकार नहीं करता है और रिटर्न प्रकार ara::core::Result<void> के माध्यम से परिणाम लौटाता है [SWS_PER_00567]।
समवर्तीता और प्रतिबंध
फ़ंक्शन थ्रेड-सुरक्षित नहीं है (not thread-safe) और सभी स्टोरेज संसाधनों पर विशेष (exclusive) पहुँच की मांग करता है [SWS_PER_00567]। यदि किसी Key-Value या File-Storage का कोई ara::per::SharedHandle अभी भी खुला है, तो कॉल kResourceBusy के साथ विफल हो जाता है [SWS_PER_00567]। इसी तरह, समानांतर में चलने वाले ऑपरेशन जैसे UpdatePersistency, ResetPersistency, RecoverKeyValueStorage, ResetKeyValueStorage, RecoverAllFiles या ResetAllFiles त्रुटि कोड kResourceBusy[SWS_PER_00567] का कारण बनते हैं।
उत्पन्न होने वाली त्रुटियों के लिए स्टोरेज-संबंधित रोलबैक सिमेंटिक्स [SWS_PER_00567] लागू होते हैं। संभावित त्रुटियों में kResourceBusy के अलावा निम्नलिखित शामिल हैं:
भौतिक स्टोरेज माध्यम [SWS_PER_00567] तक पहुँचने में त्रुटियों पर kPhysicalStorageFailure,
संग्रहीत डेटा [SWS_PER_00567] के संरचनात्मक क्षरण (corruption) पर kIntegrityCorrupted,
डेटा वैधता जाँच विफल होने पर [SWS_PER_00567]kValidationFailed,
एन्क्रिप्शन या डिक्रिप्शन [SWS_PER_00567] के दौरान त्रुटियों पर kEncryptionFailed,
MAC [SWS_PER_00567] की विफल गणना या सत्यापन पर kAuthenticationFailed,
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.
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.
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 के संदर्भ की अपेक्षा करता है, जो PersistencyFileStorageInterface द्वारा टाइप किए गए पोर्ट-प्रोटोटाइप के shortName पथ को निर्दिष्ट करता है। रिटर्न वैल्यू एक ara::core::Result<ara::core::SharedHandle<FileStorage>>[SWS_PER_00116] है।
समवर्तीता के संबंध में, फ़ंक्शन को thread-safe और exception-safe निर्दिष्ट किया गया है [SWS_PER_00116]। चूंकि एकाधिक थ्रेड्स समानांतर रूप से एक ही फ़ाइल स्टोरेज इंस्टेंस तक पहुँच सकते हैं, इसलिए भौतिक मेमोरी आवश्यक रूप से बंद नहीं होती है जब एक एकल SharedHandle स्कोप से बाहर निकलता है। बंद करना केवल तभी होता है जब सभी संदर्भित हैंडल आउट-ऑफ़-स्कोप हो जाते हैं [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]। यदि खोलने के दौरान डेटा अपडेट किया जाता है, तो RegisterDataUpdateIndication के माध्यम से पंजीकृत एक इंडिकेशन कॉलबैक सीधे OpenFileStorage के संदर्भ में कॉल किया जाता है [SWS_PER_00578]।
यह पाठ AUTOSAR Adaptive R25-11 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
rollback_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.
no_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.
rollback_semantics Returned if the files that are added/updated during an implicit update of the File Storage would exceed the configured maximum AllowedSize.
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 एक Key-Value स्टोरेज को खोलता है और इसे thread-safe तथा noexcept के रूप में निर्दिष्ट किया गया है [SWS_PER_00052]। पैरामीटर kvs के रूप में एक ara::core::InstanceSpecifier पास किया जाता है, जो PersistencyKeyValueStorageInterface द्वारा टाइप किए गए PortPrototype के पथ को संदर्भित करता है। रिटर्न ara::core::Result<SharedHandle<KeyValueStorage>> के रूप में होता है। चूंकि एकाधिक थ्रेड्स एक ही मेमोरी को समवर्ती रूप से खोल सकते हैं, इसलिए Persistency भौतिक मेमोरी को तभी बंद करता है जब सभी संदर्भित SharedHandle इंस्टेंसेस अपने स्कोप से बाहर निकल जाते हैं [SWS_PER_00052]।
त्रुटि हैंडलिंग और समवर्तीता
त्रुटि के मामले में, Result Persistency एरर डोमेन के विशिष्ट एरर कोड प्रदान करता है [SWS_PER_00052]:
PerErrc::kStorageNotFound: पहचानकर्ता निष्पादन योग्य (Executable) के किसी भी कॉन्फ़िगर किए गए इंटरफ़ेस से मेल नहीं खाता है।
PerErrc::kResourceBusy: तब होता है जब इस मेमोरी के लिए समवर्ती रूप से CleanUpPersistency, ResetPersistency[SWS_PER_00358], RecoverKeyValueStorage या ResetKeyValueStorage निष्पादित किए जा रहे हों। UpdatePersistency के दौरान, कॉल केवल RegisterApplicationDataUpdateCallback के माध्यम से पंजीकृत कॉलबैक के भीतर वहाँ पास किए गए इंस्टेंस पहचानकर्ता के साथ ही अनुमत है [SWS_PER_00356]।
दोषों, सत्यापन या क्रिप्टो त्रुटियों के मामले में PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed और PerErrc::kAuthenticationFailed।
अंतर्निहित (implicit) अपडेट के दौरान अपर्याप्त मेमोरी स्पेस या कोटा से अधिक होने के मामले में PerErrc::kOutOfStorageSpace और PerErrc::kQuotaExceeded।
इंटरैक्शन
यदि सभी डेटा पहले ResetPersistency का उपयोग करके हटा दिए गए थे, तो OpenKeyValueStorage की अगली कॉल पर मेमोरी स्वचालित रूप से फिर से बनाई जाती है [SWS_PER_00358]। खोलने के बाद, असहेजे गए संशोधनों को DiscardPendingChanges के माध्यम से खोलने की स्थिति में रीसेट किया जा सकता है [SWS_PER_00365]। इसके अतिरिक्त, खोलना उन कॉलबैक्स के निष्पादन को ट्रिगर कर सकता है जो RegisterDataUpdateIndication के माध्यम से पंजीकृत किए गए थे [SWS_PER_00578]।
यह उपयोग नोट विनिर्देश आवश्यकताओं के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
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
Fehlercode
Beschreibung
Found
Returned if the passed InstanceSpecifier does not match any PersistencyKeyValueStorageInterface configured for this Executable.
rollback_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.
no_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.
rollback_semantics Returned if the values that are added/updated during an implicit update of the Key-Value Storage would exceed the configured maximumAllowedSize.
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]।
पुनर्प्राप्ति बेस्ट-एफ़र्ट सिद्धांत के अनुसार काम करती है: पूरा होने के बाद, फ़ाइलों में पुरानी सामग्री हो सकती है, वे अपनी प्रारंभिक स्थिति में रीसेट हो सकती हैं, या पूरी तरह से नष्ट हो सकती हैं [SWS_PER_00335]। यदि स्टोरेज माध्यम तक पहुँच विफल हो जाती है (PerErrc::kPhysicalStorageFailure) या स्टोरेज स्थान अपर्याप्त है (PerErrc::kOutOfStorageSpace), तो कोई रोलबैक गारंटी नहीं होती है [SWS_PER_00335]। यदि एन्क्रिप्शन (PerErrc::kEncryptionFailed), अखंडता जाँच (PerErrc::kAuthenticationFailed), या स्टोरेज आकार सीमा (PerErrc::kQuotaExceeded) में कोई त्रुटि होती है, तो रोलबैक सिमेंटिक्स लागू होते हैं [SWS_PER_00335]। यदि पहचानकर्ता किसी भी कॉन्फ़िगर किए गए इंटरफ़ेस से मेल नहीं खाता है, तो इसका परिणाम PerErrc::kStorageNotFound[SWS_PER_00335] होता है।
हालाँकि फ़ंक्शन थ्रेड-सुरक्षित है, लेकिन जब तक स्टोरेज खुला है या कोई सक्रिय शेयर्ड-हैंडल मौजूद है [SWS_PER_00335], [SWS_PER_00116], तब तक निष्पादन PerErrc::kResourceBusy के साथ विफल हो जाता है। इसी प्रकार, उसी स्टोरेज के लिए ResetAllFiles[SWS_PER_00336] के समानांतर निष्पादन और वैश्विक अद्यतन कार्रवाइयाँ UpdatePersistency[SWS_PER_00357], ResetPersistency[SWS_PER_00358] और CleanUpPersistency[SWS_PER_00567] कॉल को ब्लॉक करती हैं [SWS_PER_00335]।
यह उपयोग नोट विनिर्देशों के आधार पर एक AI द्वारा तैयार किया गया था।
rollback_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.
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 · जर्मन मूल
नेमस्पेस ara::per में सिंक्रोनस फलन RecoverKeyValueStorage विफल रिडंडेंसी जांच ([SWS_PER_00333]) के बाद की-वैल्यू स्टोरेज को पुनर्स्थापित करने का कार्य करता है। पैरामीटर kvs के रूप में एक ara::core::InstanceSpecifier पास किया जाता है, जो संबंधित PortPrototype के ShortName पथ को संदर्भित करता है ([SWS_PER_00333])। पुनर्स्थापना बेस्ट-एफ़र्ट सिद्धांत के अनुसार होती है; प्रक्रिया के बाद कुंजियों में पुराने या प्रारंभिक मान हो सकते हैं या वे पूरी तरह से खो सकते हैं ([SWS_PER_00333])।
यद्यपि फलन को थ्रेड-सुरक्षित निर्दिष्ट किया गया है, निष्पादन त्रुटि कोड PerErrc::kResourceBusy के साथ विफल हो जाता है यदि संबंधित की-वैल्यू स्टोरेज खुला है – यानी कम से कम एक सक्रिय SharedHandle मौजूद है ([SWS_PER_00052], [SWS_PER_00333])। यही त्रुटि तब होती है जब अन्य थ्रेड एक साथ संशोधित करने वाले फलनों को कॉल करते हैं: UpdatePersistency ([SWS_PER_00357]), CleanUpPersistency ([SWS_PER_00567]), ResetPersistency ([SWS_PER_00358]) या ResetKeyValueStorage ([SWS_PER_00334])। पुनर्स्थापना के दौरान, kResourceBusy के साथ OpenKeyValueStorage की कॉल भी विफल हो जाती है ([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 विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
rollback_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.
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.
The 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
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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.
The 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.
monitoredStorage
A Key-Value Storage or File Storage for which updates shall be reported.
monitoredElements
A set of elements for which updates shall be reported.
Rückgabewert
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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 · जर्मन मूल
नेमस्पेस ara::per ([SWS_PER_00433]) में फ़ंक्शन RegisterRecoveryReportCallback Persistency घटक के पास एक कॉलबैक रूटीन पंजीकृत करने का काम करता है। सुरक्षा-उन्मुख Adaptive Applications में इसका उपयोग पर्सिस्ट किए गए डेटा की शुद्धता और स्टोरेज की विश्वसनीयता के संबंध में Persistency के सुधारात्मक उपायों का पता लगाने के लिए किया जाता है [SWS_PER_00433]।
पैरामीटर और कॉल सिमेंटिक्स
पैरामीटर के रूप में recoveryReportCallback पास किया जाता है, जो एक std::function है, जिसे Persistency द्वारा तब कॉल किया जाता है जब उपलब्ध अतिरेकता का उपयोग करके संग्रहीत डेटा में त्रुटियों को सफलतापूर्वक ठीक कर लिया गया हो [SWS_PER_00433]। इस प्रक्रिया में कॉलबैक को निम्नलिखित संदर्भ जानकारी पास की जाती है [SWS_PER_00433]:
storage: प्रभावित Key-Value Storage या File Storage का पाथ (shortName), 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 (खुला)
यह उपयोग निर्देश एक AI द्वारा तैयार किया गया था और AUTOSAR प्लेटफ़ॉर्म के विनिर्देशों पर आधारित है।
The 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
Typ
Beschreibung
None
Request a governed re-review of this record. The record is not changed immediately.
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 · जर्मन मूल
नेमस्पेस ara::per का सिंक्रोनस फ़ंक्शन ReloadPersistencyManifest (#include "ara/per/update.h" में घोषित) Persistency के टारगेट कॉन्फ़िगरेशन (Target Configuration) को पुनः पढ़ता है [SWS_PER_00577]। इसका उपयोग Key-Value Storages और File Storages के अपडेट्स तैयार करने के लिए किया जाता है, जब Adaptive Application के रनटाइम के दौरान Update and Config Management (UCM) द्वारा एक नया टारगेट कॉन्फ़िगरेशन इंस्टॉल किया गया हो [SWS_PER_00577]।
आमतौर पर, एप्लिकेशन पहले CheckForManifestUpdate[SWS_PER_00576] के साथ जाँच करता है कि क्या कॉन्फ़िगरेशन अपडेट मौजूद है, और फिर ReloadPersistencyManifest को कॉल करता है [SWS_PER_00576]। हालाँकि, पुनः पढ़ना पर्सिस्टेंट स्टोरेज को तुरंत अपडेट नहीं करता है: Storages केवल उनके बंद होने के बाद ही अपडेट किए जाते हैं – या तो दोबारा खोलने पर या ara::per::UpdatePersistency के स्पष्ट कॉल के माध्यम से [SWS_PER_00577]। व्याख्या: पहले से खुले स्टोरेज क्षेत्र संभवतः कॉल द्वारा स्वचालित रूप से बंद नहीं होते हैं, इसलिए एप्लिकेशन को इन्हें स्वयं बंद करना होगा या स्पष्ट रूप से अपडेट करना होगा। प्रश्न Q-16f9dae418feb3fa (खुला)
फ़ंक्शन कोई पैरामीटर नहीं लेता है और एक ara::core::Result<void> लौटाता है [SWS_PER_00577]। त्रुटि की स्थिति में, परिणाम में रोलबैक सिमेंटिक्स के साथ निर्माता-विशिष्ट त्रुटियाँ या निम्नलिखित त्रुटि कोडों में से एक शामिल होता है [SWS_PER_00577]:
kPhysicalStorageFailure: तब होता है जब पठन प्रक्रिया के दौरान भौतिक मेमोरी का एक्सेस विफल हो जाता है [SWS_PER_00577]।
kIntegrityCorrupted: तब होता है जब क्षतिग्रस्त संरचनात्मक अखंडता के कारण संग्रहीत डेटा को पढ़ा नहीं जा सकता है [SWS_PER_00577]।
concurrency के संबंध में, फ़ंक्शन को थ्रेड-सुरक्षित नहीं (not thread-safe), लेकिन अपवाद-सुरक्षित (exception safe) और noexcept के रूप में घोषित किया गया है [SWS_PER_00577]। इसलिए समानांतर कॉल्स को एप्लिकेशन स्तर पर सिंक्रनाइज़ किया जाना चाहिए।
यह उपयोग नोट विनिर्देश के आधार पर एक AI द्वारा तैयार किया गया था।
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 वर्तमान Target Configuration के अनुसार किसी File Storage को उसकी प्रारंभिक डिलीवरी स्थिति में सिंक्रोनस रूप से रीसेट करता है [SWS_PER_00336]। सफल निष्पादन के बाद, स्टोरेज में केवल वहाँ परिभाषित फ़ाइलें अपनी मूल सामग्री के साथ होती हैं, मानो इसे नया स्थापित किया गया हो [SWS_PER_00336]।
उपयोग और समवर्तीता: पैरामीटर fs के माध्यम से, PersistencyFileStorageInterface के माध्यम से टाइप किए गए PortPrototype का इंस्टेंस पहचानकर्ता पास किया जाता है [SWS_PER_00336]। यद्यपि फ़ंक्शन को thread-safe और exception safe के रूप में निर्दिष्ट किया गया है, इसके लिए अनन्य स्टोरेज एक्सेस की आवश्यकता होती है: यदि स्टोरेज वर्तमान में खुला है (उदाहरण के लिए OpenFileStorage[SWS_PER_00116] से एक सक्रिय SharedHandle के माध्यम से) या इसे 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: फ़ाइल स्टोरेज खुला है या समानांतर में संशोधित किया जा रहा है (रोलबैक सिमेंटिक्स) [SWS_PER_00336]।
kStorageNotFound: पहचानकर्ता निष्पादन योग्य (Executable) के लिए कॉन्फ़िगर किए गए किसी भी इंटरफ़ेस से मेल नहीं खाता है [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 विनिर्देश के आधार पर एक AI द्वारा जनरेट किया गया था।
rollback_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.
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 किसी विशिष्ट की-वैल्यू स्टोरेज को उसकी प्रारंभिक स्थिति में रीसेट करता है [SWS_PER_00334]। सफल निष्पादन के बाद, स्टोरेज में विशेष रूप से वही कुंजी-मान जोड़े उनके प्रारंभिक मानों के साथ होते हैं जो Target Configuration के माध्यम से प्रदान किए गए थे; स्टोरेज इसके बाद ऐसा व्यवहार करता है मानो इसे वर्तमान कॉन्फ़िगरेशन से नया इंस्टॉल किया गया हो [SWS_PER_00334]। पैरामीटर के रूप में kvs पथ ara::core::InstanceSpecifier के रूप में पास किया जाता है, जो कॉन्फ़िगर किए गए PersistencyKeyValueStorageInterface के PortPrototype को संदर्भित करता है [SWS_PER_00334]।
फलन को thread-safe और exception safe के रूप में निर्दिष्ट किया गया है, लेकिन यह खुले स्टोरेज और वैश्विक पर्सिस्टेंस ऑपरेशनों के संबंध में सख्त समवर्ती स्थितियों के अधीन है [SWS_PER_00334]:
कॉल PerErrc::kResourceBusy के साथ विफल हो जाती है यदि संबंधित की-वैल्यू स्टोरेज वर्तमान में खुला है (यानी अभी भी एक 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 विनिर्देश के आधार पर एक AI द्वारा उत्पन्न किया गया था।
rollback_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.
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 · जर्मन मूल
उपयोग
हेडर ara/per/update.h का सिंक्रोनस फ़ंक्शन ResetPersistency ([SWS_PER_00358]) किसी एप्लिकेशन के सभी Key-Value- और File-Storages को पूरी तरह से रीसेट करने के लिए उपयोग किया जाता है। कॉल करने पर, सभी पर्सिस्टेंट सामग्री पूरी तरह से हटा दी जाती है। स्टोरेज स्वयं तुरंत फिर से नहीं बनाए जाते हैं, बल्कि 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]) के माध्यम से संसाधित किया जा रहा हो,
या किसी Key-Value- या File-Storage का कम से कम एक सक्रिय SharedHandle अभी भी मौजूद हो ([SWS_PER_00358])।
जब तक ResetPersistency चल रहा है, अन्य थ्रेड्स में OpenKeyValueStorage ([SWS_PER_00052]) या OpenFileStorage ([SWS_PER_00116]) के माध्यम से एक साथ खोलने के प्रयास भी kResourceBusy में परिणत होते हैं।
यह पाठ एक AI द्वारा तैयार किया गया था। AUTOSAR विनिर्देश आधिकारिक हैं।
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) एक नए लक्ष्य कॉन्फ़िगरेशन की स्थापना के बाद किसी एप्लिकेशन के सभी Key-Value और File-Storages को अपडेट करता है। यह सत्यापन चरण के दौरान एक Adaptive Application के स्थायी डेटा को अपडेट करने का कार्य करता है [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 के साथ विफल हो जाती है जैसे ही किसी Key-Value या File-Storage का एक 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 के आधार पर स्वचालित रूप से उत्पन्न किया गया था।
no_rollback_semantics Returned if the available physical storage space is insufficient for the update.
kTooManyFiles
rollback_semantics Returned if the files added during the update of any File Storage would exceed the configured PersistencyFileStorageInterface.maxNumberOfFiles.
kQuotaExceeded
rollback_semantics Returned if the update would exceed the configured PersistencyCommon.MaximumAllowedSize of any Key- Value Storage or File Storage.
kAuthentication-Failed
rollback_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.
gemini-3.8-flash-low· 2026-10-13 · जर्मन मूल