DEENESPTFRRUARHIKOZHNL

命名空间 ara::per

用户指南人工智能生成

通过键值存储和文件存储实现应用程序数据持久存储与管理。
AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 9cb072b2740a 来源 未决问题(1)
译自德文指南AI 生成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 应用程序通过配置的 Port-Prototype 使用 ara::core::InstanceSpecifier 访问这些资源([SWS_PER_00052]、[SWS_PER_00116])。

该命名空间的重要交互伙伴是 Update and Configuration Management(UCM)以及物理存储介质,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、Update Management 和物理存储之间的交互。来源:[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 与模型中配置的 Port-Interface 均不匹配,则使用 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

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

Returns the global PerErrorDomain object.

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

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;

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#73cdc8f9
Content hash
73cdc8f9
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#9445eda3
Content hash
9445eda3
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#96ed6118
Content hash
96ed6118
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#28aae2bf
Content hash
28aae2bf
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#fdeca3c2
Content hash
fdeca3c2
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#145d9173
Content hash
145d9173
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: b1f49db8b33d 来源
译自德文指南AI 生成gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

来自头文件 ara/per/update.h 的同步函数 CheckForManifestUpdate 在命名空间 ara::per 中检查是否存在 Persistency Target Configuration 的更新 [SWS_PER_00576]。它用于检测在使用 Persistency 的自适应应用程序已在运行时由 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]。

本文本由 AI 生成,并作为基于规范的定位参考。

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#eba5e052
Content hash
eba5e052
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ce1bea3039de 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

来自 ara/per/update.h 的同步函数 CleanUpPersistency 用于移除一个实例的所有键值存储和文件存储中的备份数据(Backup Data)以及其他未使用的数据 [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 之外,可能的错误还包括:

本文本由 AI 基于规范生成。

实现者指南即将推出(复杂度 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#f3b9055d
Content hash
f3b9055d
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#2c09adb9
Content hash
2c09adb9
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#416295ef
Content hash
416295ef
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#71c9997b
Content hash
71c9997b
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#2a629567
Content hash
2a629567
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.

AI 生成 未审核 模型: 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]。

在并发性方面,该函数被指定为线程安全和异常安全 [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]。

本文由 AI 基于 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#b5d98335
Content hash
b5d98335
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: d24427922381 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与生命周期

同步函数 OpenKeyValueStorage 打开键值存储,并被指定为 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。
  • 在隐式更新期间发生存储空间不足或配额超限时返回 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#ec692962
Content hash
ec692962
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: ca84cc440ba3 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

当冗余校验失败时,函数 RecoverAllFiles 执行基于文件的存储(File Storage)及其包含的所有文件的恢复 [SWS_PER_00335]。该调用为同步调用,需指定已配置 PortPrototype 的 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 [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]。

本使用说明由 AI 基于规范生成。

实现者指南即将推出(复杂度 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#ff23f169
Content hash
ff23f169
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.

AI 生成 未审核 模型: 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])。恢复按照尽力而为(Best-Effort)原则进行;在该过程之后,键可能显示过时或初始值,或者完全丢失 ([SWS_PER_00333])。

尽管该函数被指定为线程安全,但如果相关的键值存储处于打开状态——即存在至少一个活动的 SharedHandle——则执行失败并出现错误代码 PerErrc::kResourceBusy ([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 计算错误。

此文本由 AI 基于 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#05c47823
Content hash
05c47823
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#665ef392
Content hash
665ef392
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#51f44dbe
Content hash
51f44dbe
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 5828fc3d3f00 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

命名空间 ara::per 中的函数 RegisterRecoveryReportCallback([SWS_PER_00433])用于向 Persistency 组件注册回调例程。它在安全相关的 Adaptive Applications 中使用,以识别 Persistency 在持久化数据的正确性以及存储的可靠性方面采取的纠正措施 [SWS_PER_00433]。

参数与调用语义

作为参数传入 recoveryReportCallback,这是一个 std::function,当使用可用冗余成功纠正已存储数据中的错误时,Persistency 将调用它 [SWS_PER_00433]。此时将向回调传递以下上下文信息 [SWS_PER_00433]:

  • storage:受影响的 Key-Value Storage 或 File Storage 作为 ara::core::InstanceSpecifier 的路径(shortName)。
  • 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 平台的规范。

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#7f1c60d3
Content hash
7f1c60d3
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 19920ccb9cf9 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

来自命名空间 ara::per(在 #include "ara/per/update.h" 中声明)的同步函数 ReloadPersistencyManifest 重新读取 Persistency 的目标配置(Target Configuration)[SWS_PER_00577]。它用于在自适应应用程序(Adaptive Application)运行期间通过 Update and Config Management (UCM) 安装了新的目标配置后,准备键值存储(Key-Value Storages)和文件存储(File Storages)的更新 [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]。发生错误时,结果包含特定于供应商的错误或以下具有回滚语义的错误代码之一 [SWS_PER_00577]:

  • kPhysicalStorageFailure:在读取过程中对物理存储的访问失败时发生 [SWS_PER_00577]。
  • kIntegrityCorrupted:因结构完整性受损而无法读取存储的数据时发生 [SWS_PER_00577]。

关于并发性,该函数被指定为非线程安全(not thread-safe),但被声明为异常安全(exception safe)和 noexcept [SWS_PER_00577]。因此,并发调用必须在应用程序端进行同步。

本使用说明由 AI 基于规范创建。

实现者指南即将推出(复杂度 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#2ab067fd
Content hash
2ab067fd
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.

AI 生成 未审核 模型: 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]。

本使用说明由 AI 基于 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#56120a71
Content hash
56120a71
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.

AI 生成 未审核 模型: 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]:

该函数提供 ara::core::Result<void> 作为结果 [SWS_PER_00334]。发生错误时,除 kResourceBusy 外还会出现以下特定错误代码:PerErrc::kStorageNotFound(无效的 InstanceSpecifier)、PerErrc::kPhysicalStorageFailure(对存储介质的访问错误,无回滚语义)、PerErrc::kOutOfStorageSpace(初始值存储空间不足,无回滚语义)、PerErrc::kEncryptionFailed(加密错误)以及 PerErrc::kAuthenticationFailed(MAC 计算错误)[SWS_PER_00334]。

本使用说明由 AI 基于 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#c87abd72
Content hash
c87abd72
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.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: d1720067a24e 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

来自头文件 ara/per/update.h 的同步函数 ResetPersistency([SWS_PER_00358])用于完全重置应用程序的所有键值存储和文件存储。调用时,所有持久化内容都将被彻底删除。存储本身并不会立即重新创建,而是在分别下一次调用 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。

此文本由 AI 创建。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#aa2698b7
Content hash
aa2698b7
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.

AI 生成 未审核 模型: 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 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]。一旦键值存储或文件存储的 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]),调用就会失败并返回 kResourceBusy [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#c895d737
Content hash
c895d737
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#4c626a2f
Content hash
4c626a2f
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#a4ec426f
Content hash
a4ec426f
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