DEENESPTFRRUARHIKOZHNL

класс ara::per::KeyValueStorage

[SWS_PER_00339] Upstream: RS_PER_00002, RS_AP_00122, RS_AP_00140, RS_AP_00146

class KeyValueStorage final {...};

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

Header-Datei#include "ara/per/key_value_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per

Руководство пользователяСОЗДАНО ИИ

Управляет персистентными парами «ключ-значение» через транзакционные операции чтения и записи с явной синхронизацией.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 74f93d55aa8a Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Управляет персистентными парами «ключ-значение» через транзакционные операции чтения и записи с явной синхронизацией.

Класс предоставляет транзакционное хранилище «ключ-значение», модификации которого записываются на физический носитель данных только с помощью SyncToStorage() или сбрасываются с помощью DiscardPendingChanges() [SWS_PER_00049], [SWS_PER_00365]. Экземпляры не подлежат ни копированию, ни перемещению и предоставляют потокобезопасные методы доступа, однако при уничтожении требуют исключения параллельных вызовов [SWS_PER_00322], [SWS_PER_00050]. При аппаратных дефектах во время синхронизации автоматическая семантика отката больше не действует [SWS_PER_00049].

Контекст

Класс ara::per::KeyValueStorage предоставляет типизированное хранилище «ключ-значение» в рамках AUTOSAR Adaptive Platform, управляющее персистентными данными как множеством ключей с сопоставленными значениями. Он служит для приложений основным интерфейсом для персистентного сохранения и извлечения сконфигурированных данных приложения. Доступ осуществляется с транзакционной семантикой через внутреннее состояние транзакции, а не напрямую на физическом носителе данных, как специфицировано, например, для операций чтения в [SWS_PER_00042], [SWS_PER_00043], [SWS_PER_00044], [SWS_PER_00332] и [SWS_PER_00554]. Модифицирующие операции первоначально оказывают чисто транзакционное действие и изменяют физическую память только при явной синхронизации [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].

Жизненный цикл

Инстанцирование и владение ara::per::KeyValueStorage подчиняются строгим ограничениям: конструктор по умолчанию [SWS_PER_00459], а также конструктор копирования и конструктор перемещения [SWS_PER_00324], [SWS_PER_00322] удалены (=delete). Точно так же операторы присваивания с копированием и с перемещением явно удалены [SWS_PER_00325], [SWS_PER_00323]. Таким образом, экземпляры не могут быть скопированы или перемещены. Создание объекта хранилища происходит посредством инициализации через OpenKeyValueStorage(), которая одновременно определяет отправную точку для предстоящих изменений [SWS_PER_00365]. Деструктор [SWS_PER_00050] специфицирован как бессбойный (exception-safe), но явно как непотокобезопасный; поэтому уничтожение может происходить только тогда, когда параллельные обращения больше не выполняются. В штатном режиме все методы доступа спроектированы как потокобезопасные, однако могут задерживаться при одновременных вызовах записи или синхронизации из других потоков [SWS_PER_00046], [SWS_PER_00049], [SWS_PER_00365].

Путь использования

Типичный сценарий использования включает установку или обновление значений данных, опциональную проверку или чтение текущего состояния транзакции и последующую персистентную запись либо отмену изменений. С помощью SetValue<T>() пара «ключ-значение» присваивается или перезаписывается в текущем контексте транзакции [SWS_PER_00046]. Существующие ключи могут быть проверены через KeyExists() [SWS_PER_00043], их размер в байтах определен через GetCurrentValueSize() [SWS_PER_00554], а их значения прочитаны через типобезопасные перегрузки GetValue<T>() [SWS_PER_00044], [SWS_PER_00332]. Только вызов SyncToStorage() атомарно переносит все накопленные изменения на физический носитель данных [SWS_PER_00049]. Если же несинхронизированные изменения требуется отбросить, DiscardPendingChanges() сбрасывает состояние до момента последнего SyncToStorage() или открытия [SWS_PER_00365].

Последовательность транзакционного сохранения и синхронизацииПриложениеKeyValueStoragePhysischerSpeicherSetValue(key, value)Transaktionspuffer aktualisierenResult<void>GetValue<T>(key)Transaktionsstand lesenResult<T>altПерсистентно сохранить измененияSyncToStorage()Сохранить блоки данных персистентноStatus QuittungResult<void>Отменить измененияDiscardPendingChanges()Очистить буфер до состояния последней синхронизацииResult<void>

Диаграмма последовательности: типичный процесс модификации, проверки и синхронизации с физической памятью. Источники: [SWS_PER_00046], [SWS_PER_00332], [SWS_PER_00049], [SWS_PER_00365]

Сценарии ошибок

Все методы возвращают ошибки через ara::core::Result. При этом проводится точное различие между операциями с гарантией отката и ошибками без отката:

  • Ошибки конфигурации и защиты от записи: при вызове методов записи для хранилища, доступного только для чтения, или при уже существующем ключе в конфигурациях Write-Only-Once операция завершается сбоем с PerErrc::kIllegalWriteAccess [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].
  • Конфликты типов и доступность ключей: если тип данных при перезаписи или чтении не совпадает с сохраненным типом, возникает PerErrc::kDataTypeMismatch [SWS_PER_00044], [SWS_PER_00332], [SWS_PER_00046]. Ненайденные ключи возвращают PerErrc::kKeyNotFound [SWS_PER_00044], [SWS_PER_00554]. Для ResetKey() генерируется PerErrc::kInitValueNotAvailable, если начальное значение не определено [SWS_PER_00426].
  • Нарушения объема памяти и квот: если новый объем данных превышает сконфигурированный лимит maximumAllowedSize, сообщается PerErrc::kQuotaExceeded [SWS_PER_00046], [SWS_PER_00049]. Если физической памяти недостаточно, SyncToStorage() или RecoverKey() возвращает ошибку PerErrc::kOutOfStorageSpace без семантики отката [SWS_PER_00049], [SWS_PER_00427].
  • Ошибки целостности, криптографии и оборудования: ошибки физического доступа (PerErrc::kPhysicalStorageFailure) при операциях чтения и SetValue() обладают семантикой отката [SWS_PER_00046], тогда как при SyncToStorage() семантика отката отсутствует [SWS_PER_00049]. Повреждение структуры (PerErrc::kIntegrityCorrupted), ошибки расшифровки (PerErrc::kEncryptionFailed) или неудачные проверки MAC (PerErrc::kAuthenticationFailed) сигнализируются операциями чтения, записи и восстановления, такими как RecoverKey() [SWS_PER_00427].

Настоящее руководство было сгенерировано системой документирования на базе ИИ на основе AUTOSAR R25-11.

Карта членов

Диаграмма классов

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

G nara__per__KeyValueStorage981 KeyValueStorage + KeyValueStorage() + operator=() + ~KeyValueStorage() + DiscardPendingChanges() + GetAllKeys() + GetCurrentValueSize() + GetValue() + KeyExists() + RecoverKey() + RemoveAllKeys() + RemoveKey() + ResetKey() + SetValue() + SyncToStorage()

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

KeyValueStorage функция 3

The move constructor for KeyValueStorage shall not be used.

Перегрузки KeyValueStorage 3
KeyValueStorage (KeyValueStorage &&kvs)=delete; SWS_PER_00322
KeyValueStorage (const KeyValueStorage &)=delete; SWS_PER_00324
KeyValueStorage ()=delete; SWS_PER_00459
~KeyValueStorage функция

Destructor for KeyValueStorage.

~KeyValueStorage () noexcept;

Методы

DiscardPendingChanges функция

Removes all pending changes to this Key-Value Storage since the last call to SyncToStorage() or since this Key-Value Storage was opened using OpenKeyValueStorage(). DiscardPendingChanges may be delayed by an ongoing call from another thread to RemoveAll Keys, SyncToStorage, DiscardPendingChanges, SetValue, GetValue, GetCurrentValueSize, RemoveKey, RecoverKey, or ResetKey.

ara::core::Result< void > DiscardPendingChanges () noexcept;
GetAllKeys функция

Returns a list of all currently available keys of this Key-Value Storage. The list of keys is only accurate if no key-value pair is added or deleted at the same time. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

ara::core::Result< ara::core::Vector< ara::core::String > > GetAllKeys () const noexcept;
GetCurrentValueSize функция

Returns the size (in bytes) of the value assigned to a key of this Key-Value Storage. GetCurrentValueSize may be delayed by an ongoing call from another thread to RemoveAllKeys or DiscardPendingChanges, or to SetValue, RemoveKey, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

ara::core::Result< std::uint64_t > GetCurrentValueSize (ara::core::StringView key) const noexcept;
GetValue функция 2

Returns the value assigned to a key of this KeyValueStorage. This method should only be used to access very large values repeatedly. GetValue may be delayed by an ongoing call from another thread to RemoveAllKeys or Discard PendingChanges, or to SetValue, RemoveKey, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

Перегрузки GetValue 2
template <class T> ara::core::Result< void > GetValue (ara::core::StringView key, T &value) const noexcept; SWS_PER_00044
template <class T> ara::core::Result< T > GetValue (ara::core::StringView key) const noexcept; SWS_PER_00332
KeyExists функция

Checks if a key-value pair exists in this Key-Value Storage. The result is only accurate if no key-value pair is added or deleted at the same time. E.g. when a key-value pair is removed in another thread directly after this function returned "true", the result is not valid anymore. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

ara::core::Result< bool > KeyExists (ara::core::StringView key) const noexcept;
RecoverKey функция

Recovers a single key-value pair of this Key Value Storage. This method allows to recover a single key-value pair when the redundancy checks fail. This method does a best-effort recovery of the key-value pair. After recovery, the key-value pair might contain outdated or initial content, or might be lost. RecoverKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair.

ara::core::Result< void > RecoverKey (ara::core::StringView key) noexcept;
RemoveAllKeys функция

Removes all key-value pairs and associated values from this Key-Value Storage. RemoveAllKeys may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncToStorage, DiscardPendingChanges, SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

ara::core::Result< void > RemoveAllKeys () noexcept;
RemoveKey функция

Removes a key and the associated value from this Key-Value Storage. RemoveKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

ara::core::Result< void > RemoveKey (ara::core::StringView key) noexcept;
ResetKey функция

Resets a key of this Key-Value Storage to its initial value. ResetKey allows to reset a single key to its initial value. If the key is currently not available in the Key-Value Storage, it is re-created. Afterwards, the key-value pair will appear in both cases as if it was newly installed from the current Target Configuration. ResetKey will fail with kInitValueNotAvailable when neither Application Design nor Target Configuration define an initial value for the key. ResetKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair.

ara::core::Result< void > ResetKey (ara::core::StringView key) noexcept;
SetValue функция

Stores a key-value pair in this Key-Value Storage. If a value already exists and has the same data type as the new value, it is overwritten. If the new value has a different data type than the stored value, kDataTypeMismatch is returned. SetValue may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

template <class T> ara::core::Result< void > SetValue (ara::core::StringView key, const T &value) noexcept;
SyncToStorage функция

Flushes changed key-value pairs of the Key-Value Storage to the physical storage. SyncToStorage may be delayed by an ongoing call from another thread to RemoveAllKeys, DiscardPendingChanges, SetValue, RemoveKey, RecoverKey, or ResetKey.

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

Операторы

operator= функция 2

The move assignment operator for KeyValueStorage shall not be used.

Перегрузки = 2
KeyValueStorage & operator= (KeyValueStorage &&kvs)=delete; SWS_PER_00323
KeyValueStorage & operator= (const KeyValueStorage &)=delete; SWS_PER_00325

Документация методов

функция DiscardPendingChanges [SWS_PER_00365] Upstream: RS_PER_00002, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

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

Removes all pending changes to this Key-Value Storage since the last call to SyncToStorage() or since this Key-Value Storage was opened using OpenKeyValueStorage(). DiscardPendingChanges may be delayed by an ongoing call from another thread to RemoveAll Keys, SyncToStorage, DiscardPendingChanges, SetValue, GetValue, GetCurrentValueSize, RemoveKey, RecoverKey, or ResetKey.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 73a36630080a Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика

Синхронная функция-член DiscardPendingChanges класса ara::per::KeyValueStorage ([SWS_PER_00365]) предоставляется через заголовочный файл ara/per/key_value_storage.h. Она не принимает параметров и возвращает ara::core::Result<void>. Ее назначение — сброс всех ожидающих изменений в экземпляре Key-Value Storage, возникших с момента последнего вызова SyncToStorage или с момента открытия с помощью OpenKeyValueStorage() [SWS_PER_00365].

Взаимодействие и транзакционное поведение

Операции записи, такие как SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] и RemoveAllKeys [SWS_PER_00048], подчиняются транзакционной семантике. Их изменения окончательно записываются на физический носитель данных только при вызове SyncToStorage [SWS_PER_00049]. С помощью DiscardPendingChanges эти несохраненные модификации откатываются назад, благодаря чему и запросы через GetCurrentValueSize снова отражают предшествующее транзакционное исходное состояние [SWS_PER_00554].

Обработка ошибок и параллелизм

В случае сбоя результат содержит ошибку, специфичную для производителя, или код ошибки из PerErrc с определенной семантикой отката [SWS_PER_00365]:

  • PerErrc::kIllegalWriteAccess: если хранилище защищено от записи или при конфигурации Write-Only-Once ключ уже существует.
  • PerErrc::kPhysicalStorageFailure: если доступ к физическому носителю данных завершается сбоем.
  • PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed или PerErrc::kAuthenticationFailed: при нарушении целостности, ошибках валидации, ошибках расшифровки или неудачной проверке MAC.

Метод объявлен как noexcept, является исключениебезопасным (exception safe), а также потокобезопасным (thread-safe) [SWS_PER_00365]. Однако выполнение может быть задержано, если параллельно в других потоках активны вызовы SyncToStorage, SetValue, RemoveKey, RemoveAllKeys, ResetKey или RecoverKey [SWS_PER_00365] [SWS_PER_00426] [SWS_PER_00427].

Этот текст был сгенерирован ИИ и курирован на основе спецификации AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-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
PerErrc::kIllegalWriteAccessrollback_semantics Returned if the Key-Value Storage is configured as read- only, or if it is configured as write-only-once and the key already exists.
PerErrc::kPhysicalStorageFailurerollback_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::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_00365
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00365@rel:R25-11#ab834d24
Content hash
ab834d24
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00365
Status: valid/unmigrated Version: rel:R25-11#f3496212 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_00365@rel:R25-11#f3496212
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#0793e9a52026-09-30
  • R19-11rel:R19-11#90dcd0d22026-10-14
  • R20-11rel:R20-11#306302ca2026-10-14
  • R21-11rel:R21-11#5bb9ceb52026-10-14
  • R22-11rel:R22-11#6374aaa62026-10-14
  • R23-11rel:R23-11#7a4bc2902026-10-14
  • R24-11rel:R24-11#fd18fb832026-10-14
  • R25-11rel:R25-11#f34962122026-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

функция GetAllKeys [SWS_PER_00042] Upstream: RS_PER_00003, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< ara::core::Vector< ara::core::String > > GetAllKeys () const noexcept;

Returns a list of all currently available keys of this Key-Value Storage. The list of keys is only accurate if no key-value pair is added or deleted at the same time. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

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

Rückgabewert

TypBeschreibung
ara::core::Result<ara::core::Vector<ara::core::String > >A Result containing a list of available keys. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
StorageFailureReturned 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::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_00042
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00042@rel:R25-11#e4a7e3cf
Content hash
e4a7e3cf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00042
Status: valid/unmigrated Version: rel:R25-11#7764796d 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_00042@rel:R25-11#7764796d
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b9c10dc72026-09-30
  • R19-11rel:R19-11#dc305f7c2026-10-14
  • R20-11rel:R20-11#5ed793b42026-10-14
  • R21-11rel:R21-11#d356f6902026-10-14
  • R22-11rel:R22-11#ef6f96bc2026-10-14
  • R23-11rel:R23-11#13f7a5a82026-10-14
  • R24-11rel:R24-11#84dcd6932026-10-14
  • R25-11rel:R25-11#7764796d2026-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

функция GetCurrentValueSize [SWS_PER_00554] 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_00139, RS_AP_00159

ara::core::Result< std::uint64_t > GetCurrentValueSize (ara::core::StringView key) const noexcept;

Returns the size (in bytes) of the value assigned to a key of this Key-Value Storage. GetCurrentValueSize may be delayed by an ongoing call from another thread to RemoveAllKeys or DiscardPendingChanges, or to SetValue, RemoveKey, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

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

Parameter (in)

ParameterBeschreibung
keyThe key to look up.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
Returned if the provided key does not exist in the Key-Value
Storage.
PerErrc::kPhysicalStorageFailurerollback_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::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_00554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00554@rel:R25-11#44156efc
Content hash
44156efc
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00554
Status: valid/unmigrated Version: rel:R25-11#24655af4 Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00554@rel:R25-11#24655af4
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#83415bd32026-09-30
  • R22-11rel:R22-11#929002202026-10-14
  • R23-11rel:R23-11#de5e8c192026-10-14
  • R24-11rel:R24-11#031b61af2026-10-14
  • R25-11rel:R25-11#24655af42026-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

функция GetValue [SWS_PER_00044] 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_00136, RS_AP_00139, RS_AP_00141, RS_AP_00159

template <class T> ara::core::Result< void > GetValue (ara::core::StringView key, T &value) const noexcept;

Returns the value assigned to a key of this KeyValueStorage. This method should only be used to access very large values repeatedly. GetValue may be delayed by an ongoing call from another thread to RemoveAllKeys or Discard PendingChanges, or to SetValue, RemoveKey, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

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

Template-Parameter

ParameterBeschreibung
TThe type of the value that shall be retrieved.

Parameter (in)

ParameterBeschreibung
keyThe key to look up.

Parameter (out)

ParameterBeschreibung
valueThe retrieved value.

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
Returned if the provided key does not exist in the Key-Value
Storage.
PerErrc::kPhysicalStorageFailurerollback_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::kDataTypeMismatchrollback_semantics Returned if the data type of stored value does not match the templated type.
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_00044
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00044@rel:R25-11#69f70ec7
Content hash
69f70ec7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00044
Status: valid/unmigrated Version: rel:R25-11#d1fc24ca Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_PER_00044@rel:R25-11#d1fc24ca
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#51af7b752026-09-30
  • R22-11rel:R22-11#aba3314c2026-10-14
  • R23-11rel:R23-11#5ce84da62026-10-14
  • R24-11rel:R24-11#e55139fe2026-10-14
  • R25-11rel:R25-11#d1fc24ca2026-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

функция GetValue [SWS_PER_00332] 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_00136, RS_AP_00139, RS_AP_00159

template <class T> ara::core::Result< T > GetValue (ara::core::StringView key) const noexcept;

Returns the value assigned to a key of this Key-Value Storage. GetValue may be delayed by an ongoing call from another thread to RemoveAllKeys or Discard PendingChanges, or to SetValue, RemoveKey, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

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

Template-Parameter

ParameterBeschreibung
TThe type of the value that shall be retrieved.

Parameter (in)

ParameterBeschreibung
keyThe key to look up.

Rückgabewert

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

Fehler

FehlercodeBeschreibung
Returned if the provided key does not exist in the Key-Value
Storage.
PerErrc::kPhysicalStorageFailurerollback_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::kDataTypeMismatchrollback_semantics Returned if the data type of stored value does not match the templated type.
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_00332
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00332@rel:R25-11#c13fa481
Content hash
c13fa481
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00332
Status: valid/unmigrated Version: rel:R25-11#dcb7cd2f 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_00332@rel:R25-11#dcb7cd2f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f6c15de42026-09-30
  • R19-11rel:R19-11#e0b2cbd72026-10-14
  • R20-11rel:R20-11#817780202026-10-14
  • R21-11rel:R21-11#efed588e2026-10-14
  • R22-11rel:R22-11#cb63ddd02026-10-14
  • R23-11rel:R23-11#03fe0a512026-10-14
  • R24-11rel:R24-11#e6d6eef02026-10-14
  • R25-11rel:R25-11#dcb7cd2f2026-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

функция KeyExists [SWS_PER_00043] Upstream: RS_PER_00003, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< bool > KeyExists (ara::core::StringView key) const noexcept;

Checks if a key-value pair exists in this Key-Value Storage. The result is only accurate if no key-value pair is added or deleted at the same time. E.g. when a key-value pair is removed in another thread directly after this function returned "true", the result is not valid anymore. This method uses transaction semantics, it sees the current state of transaction, not the actual physical storage.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: d5f804c0cf2d Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный метод KeyExists класса ara::per::KeyValueStorage проверяет, присутствует ли определенная пара «ключ-значение» в хранилище [SWS_PER_00043]. В качестве входного параметра передается проверяемый ключ key типа ara::core::StringView [SWS_PER_00043]. Возвращаемым значением является ara::core::Result<bool>, содержащее true, если ключ удалось обнаружить, и false в противном случае [SWS_PER_00043]. Функция объявлена как const, а также noexcept и является исключениебезопасной (exception safe) [SWS_PER_00043].

Что касается семантики и конкурентности, KeyExists работает на транзакционной основе: он отражает текущее состояние транзакции, а не обязательно физического хранилища [SWS_PER_00043]. Выполнение является потокобезопасным (thread-safe), однако возвращаемый результат точен лишь в том случае, если одновременно не добавляются и не удаляются пары «ключ-значение» [SWS_PER_00043]. Если, например, сразу после возврата true пара будет удалена в другом потоке, результат теряет свою силу [SWS_PER_00043].

В случае ошибки Result содержит специфический код ошибки [SWS_PER_00043]:

  • StorageFailure: ошибка при доступе к физическому хранилищу [SWS_PER_00043].
  • PerErrc::kIntegrityCorrupted: сохраненные данные не могут быть прочитаны из-за нарушения структурной целостности [SWS_PER_00043].
  • PerErrc::kValidationFailed: невозможно гарантировать валидность сохраненных данных [SWS_PER_00043].
  • PerErrc::kEncryptionFailed: сбой расшифровки данных [SWS_PER_00043].
  • PerErrc::kAuthenticationFailed: сбой проверки MAC [SWS_PER_00043].
  • Специфические для поставщика ошибки (vendor specific error) также могут быть возвращены [SWS_PER_00043].

Этот текст был сгенерирован ИИ и основан на спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I1)

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

Parameter (in)

ParameterBeschreibung
keyThe key that shall be checked.

Rückgabewert

TypBeschreibung
ara::core::Result< bool >A Result containing true if the key could be located or false if it couldn’t. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
StorageFailureReturned 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::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_00043
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00043@rel:R25-11#69b81a0c
Content hash
69b81a0c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00043
Status: valid/unmigrated Version: rel:R25-11#e65b8880 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_00043@rel:R25-11#e65b8880
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e8b3c8032026-09-30
  • R19-11rel:R19-11#acb4571e2026-10-14
  • R20-11rel:R20-11#508cbca52026-10-14
  • R21-11rel:R21-11#198de15f2026-10-14
  • R22-11rel:R22-11#4b0b474d2026-10-14
  • R23-11rel:R23-11#b85446a12026-10-14
  • R24-11rel:R24-11#416f86462026-10-14
  • R25-11rel:R25-11#e65b88802026-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

функция KeyValueStorage [SWS_PER_00322] Upstream: RS_PER_00002, RS_AP_00120, RS_AP_00121, RS_AP_00129, RS_AP_00145, RS_AP_00159

KeyValueStorage (KeyValueStorage &&kvs)=delete;

The move constructor for KeyValueStorage shall not be used.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00322
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00322@rel:R25-11#43a4daca
Content hash
43a4daca
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00322
Status: valid/unmigrated Version: rel:R25-11#225c60f1 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_00322@rel:R25-11#225c60f1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#98b7adb12026-09-30
  • R19-11rel:R19-11#061b66e82026-10-14
  • R20-11rel:R20-11#61caa7ac2026-10-14
  • R21-11rel:R21-11#0d2d108a2026-10-14
  • R22-11rel:R22-11#2127e47e2026-10-14
  • R23-11rel:R23-11#1e46b07b2026-10-14
  • R24-11rel:R24-11#225c60f12026-10-14
  • R25-11rel:R25-11#225c60f12026-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

функция KeyValueStorage [SWS_PER_00324] Upstream: RS_PER_00002, RS_AP_00120, RS_AP_00145

KeyValueStorage (const KeyValueStorage &)=delete;

The copy constructor for KeyValueStorage shall not be used.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00324
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00324@rel:R25-11#8600bee5
Content hash
8600bee5
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00324
Status: valid/unmigrated Version: rel:R25-11#3458c64f 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_00324@rel:R25-11#3458c64f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b723be562026-09-30
  • R19-11rel:R19-11#9cddb3192026-10-14
  • R20-11rel:R20-11#eab3f9102026-10-14
  • R21-11rel:R21-11#eab3f9102026-10-14
  • R22-11rel:R22-11#b9dc355d2026-10-14
  • R23-11rel:R23-11#64874c0d2026-10-14
  • R24-11rel:R24-11#3458c64f2026-10-14
  • R25-11rel:R25-11#3458c64f2026-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

функция KeyValueStorage [SWS_PER_00459] Upstream: RS_PER_00002, RS_AP_00120, RS_AP_00129, RS_AP_00146

KeyValueStorage ()=delete;

The default constructor for KeyValueStorage shall not be used.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00459
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00459@rel:R25-11#937d5c3e
Content hash
937d5c3e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00459
Status: valid/unmigrated Version: rel:R25-11#2cda50df Versionshistorie & Revisions (1 transition, 6 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_00459@rel:R25-11#2cda50df
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#757585242026-09-30
  • R21-11rel:R21-11#74095de92026-10-14
  • R22-11rel:R22-11#db0f4fa82026-10-14
  • R23-11rel:R23-11#4c09eb602026-10-14
  • R24-11rel:R24-11#2cda50df2026-10-14
  • R25-11rel:R25-11#2cda50df2026-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

функция RecoverKey [SWS_PER_00427] 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_00139, RS_AP_00159

ara::core::Result< void > RecoverKey (ara::core::StringView key) noexcept;

Recovers a single key-value pair of this Key Value Storage. This method allows to recover a single key-value pair when the redundancy checks fail. This method does a best-effort recovery of the key-value pair. After recovery, the key-value pair might contain outdated or initial content, or might be lost. RecoverKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 424fba0f9a95 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный метод RecoverKey класса ara::per::KeyValueStorage служит для восстановления по мере возможности (best-effort) отдельной пары «ключ — значение», если внутренние проверки избыточности завершаются сбоем [SWS_PER_00427]. Он принимает идентификатор ключа через параметр key в виде ara::core::StringView и сообщает об успехе или ошибке через ara::core::Result<void> [SWS_PER_00427]. После восстановления пара может содержать устаревшие данные, начальные значения или быть полностью утрачена [SWS_PER_00427].

При возникновении ошибки результат возвращает специфические коды ошибок из PerErrc или специфические для производителя ошибки [SWS_PER_00427]:

  • kKeyNotFound: указанный ключ не существует в хранилище [SWS_PER_00427].
  • kIllegalWriteAccess: хранилище сконфигурировано только для чтения (read-only) [SWS_PER_00427].
  • kPhysicalStorageFailure: доступ к физическому накопителю завершился сбоем [SWS_PER_00427].
  • kIntegrityCorrupted: структурные повреждения целостности препятствуют записи данных [SWS_PER_00427].
  • kEncryptionFailed или kAuthenticationFailed: сбой шифрования/дешифрования либо валидации MAC [SWS_PER_00427].
  • kOutOfStorageSpace или kQuotaExceeded: доступной физической памяти недостаточно или превышен сконфигурированный максимальный размер [SWS_PER_00427].

Операция специфицирована как thread-safe, а также exception-safe [SWS_PER_00427]. Однако вызовы могут задерживаться, если параллельно выполняются действия масштаба всего хранилища, такие как RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] или DiscardPendingChanges [SWS_PER_00365] [SWS_PER_00427]. Точно так же одновременные вызовы SetValue [SWS_PER_00046], GetValue [SWS_PER_00044], GetCurrentValueSize [SWS_PER_00554], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] или повторный вызов RecoverKey для того же ключа приводят к задержкам [SWS_PER_00427]. В отличие от ResetKey [SWS_PER_00426], который сбрасывает запись в состояние поставки, RecoverKey пытается спасти данные [SWS_PER_00427].

Это указание по использованию было сгенерировано автоматически на основе спецификации.

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
keyThe key to be recovered.

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
Returned if the provided key does not exist in the Key-Value
Storage.
PerErrc::kIllegalWriteAccessrollback_semantics Returned if the Key-Value Storage is configured as read- only.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered value.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered value would exceed the configured maximumAllowedSize of the Key-Value Storage.
PerErrc::kAuthenticationFailedrollback_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_00427
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00427@rel:R25-11#671e9687
Content hash
671e9687
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00427
Status: valid/unmigrated Version: rel:R25-11#aaccab12 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_00427@rel:R25-11#aaccab12
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#1ff272ae2026-09-30
  • R20-11rel:R20-11#2a43812a2026-10-14
  • R21-11rel:R21-11#d955febb2026-10-14
  • R22-11rel:R22-11#e216dd632026-10-14
  • R23-11rel:R23-11#9839d1302026-10-14
  • R24-11rel:R24-11#4dc9fbc22026-10-14
  • R25-11rel:R25-11#aaccab122026-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

функция RemoveAllKeys [SWS_PER_00048] Upstream: RS_PER_00003, RS_PER_00010, RS_AP_00119, RS_AP_00120, RS_ AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

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

Removes all key-value pairs and associated values from this Key-Value Storage. RemoveAllKeys may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncToStorage, DiscardPendingChanges, SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 0ae35af4fc43 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и семантика транзакций

Метод RemoveAllKeys класса ara::per::KeyValueStorage удаляет все пары «ключ-значение» и связанное с ними содержимое из хранилища [SWS_PER_00048]. Функция вызывается синхронно, не имеет входных параметров и специфицирована с noexcept [SWS_PER_00048]. Операция подчиняется семантике транзакций: удаление всех ключей вступает в силу в физическом хранилище на постоянной основе только после последующего вызова SyncToStorage [SWS_PER_00049] [SWS_PER_00048]. В рамках текущей транзакции операции чтения, такие как GetValue [SWS_PER_00332], или запросы размера через GetCurrentValueSize [SWS_PER_00554] непосредственно отражают очищенное состояние [SWS_PER_00044].

Обработка ошибок

В качестве возвращаемого значения служит ara::core::Result<void> [SWS_PER_00048]. При возникновении ошибки применяется семантика отката [SWS_PER_00048]. К возможным ошибкам относятся:

  • Нарушение доступа при хранилище, сконфигурированном только для чтения (Интерпретация: это, вероятно, соответствует коду ошибки PerErrc::kIllegalWrite) [SWS_PER_00048], Вопрос Q-a820d779e19ac5c9 (открытый)
  • PerErrc::kPhysicalStorageFailure при ошибках доступа к физическому носителю данных [SWS_PER_00048],
  • PerErrc::kIntegrityCorrupted при повреждении структурной целостности данных [SWS_PER_00048],
  • PerErrc::kEncryptionFailed, а также PerErrc::kAuthenticationFailed при сбоях шифрования/дешифрования или проверки MAC [SWS_PER_00048], а также специфичные для производителя ошибки.

Параллелизм и взаимодействие

Метод классифицирован как thread-safe и exception safe [SWS_PER_00048]. Однако выполнение может быть задержано, если в другом потоке одновременно активны вызовы RemoveAllKeys, SyncToStorage [SWS_PER_00049], SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] или RecoverKey [SWS_PER_00427] [SWS_PER_00048].

Этот текст был сгенерирован ИИ на основе требований спецификации.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite 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
AccessReturned if the Key-Value Storage is configured as read- only.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kAuthenticationFailedrollback_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_00048
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00048@rel:R25-11#3ef74d4c
Content hash
3ef74d4c
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00048
Status: valid/unmigrated Version: rel:R25-11#098d4bc1 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_00048@rel:R25-11#098d4bc1
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8a8820ba2026-09-30
  • R19-11rel:R19-11#1050c61d2026-10-14
  • R20-11rel:R20-11#68ed9c542026-10-14
  • R21-11rel:R21-11#b0a3d35f2026-10-14
  • R22-11rel:R22-11#4ff9fb912026-10-14
  • R23-11rel:R23-11#c2afbb972026-10-14
  • R24-11rel:R24-11#5988f1162026-10-14
  • R25-11rel:R25-11#098d4bc12026-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

функция RemoveKey [SWS_PER_00047] 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_00139, RS_AP_00159

ara::core::Result< void > RemoveKey (ara::core::StringView key) noexcept;

Removes a key and the associated value from this Key-Value Storage. RemoveKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ea5f39b17dd8 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронная функция-член RemoveKey класса ara::per::KeyValueStorage служит для удаления ключа и сопоставленного значения из Key-Value Storage [SWS_PER_00047]. Она принимает идентификатор удаляемого ключа как ara::core::StringView через параметр key и возвращает ara::core::Result<void> [SWS_PER_00047].

Операция подчиняется транзакционной семантике: изменения не становятся персистентными в физическом хранилище немедленно, а вступают в силу только тогда, когда явно вызывается SyncToStorage [SWS_PER_00047], синхронизирующий изменённые пары «ключ — значение» [SWS_PER_00049]. Ожидающие изменения можно отменить перед синхронизацией с помощью DiscardPendingChanges [SWS_PER_00365]. Операции чтения, такие как GetValue [SWS_PER_00044], [SWS_PER_00332] или GetCurrentValueSize [SWS_PER_00554], также оперируют состоянием транзакции и непосредственно отражают удаление.

В отношении параллелизма метод специфицирован как потокобезопасный (thread-safe) и исключениебезопасный (exception safe) [SWS_PER_00047]. Вызов может задерживаться, если параллельно в другом потоке выполняются RemoveAllKeys, SyncToStorage или DiscardPendingChanges, либо если одновременно операции, такие как SetValue, GetValue, GetCurrentValueSize, RemoveKey, RecoverKey или ResetKey, обращаются к той же паре «ключ — значение» [SWS_PER_00047].

Если при выполнении возникает ошибка, применяется семантика отката (rollback), и возвращаемый объект Result содержит код ошибки [SWS_PER_00047]:

  • PerErrc::kKeyNotFound: указанный ключ не существует в хранилище [SWS_PER_00047].
  • PerErrc::kIllegalWriteAccess: Key-Value Storage сконфигурирован только для чтения (read-only) [SWS_PER_00047].
  • PerErrc::kPhysicalStorageFailure: доступ к физическому носителю данных завершился сбоем [SWS_PER_00047].
  • PerErrc::kIntegrityCorrupted: запись завершилась сбоем из-за нарушенной структурной целостности [SWS_PER_00047].
  • PerErrc::kEncryptionFailed или PerErrc::kAuthenticationFailed: шифрование или расшифрование завершилось сбоем, либо вычисление/проверка MAC содержит ошибку [SWS_PER_00047].

Данное указание по использованию базируется исключительно на спецификациях платформы AUTOSAR Adaptive для релиза R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
keyThe key to be removed.

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
Returned if the provided key does not exist in the Key-Value
Storage.
PerErrc::kIllegalWriteAccessrollback_semantics Returned if the Key-Value Storage is configured as read- only.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kAuthenticationFailedrollback_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_00047
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00047@rel:R25-11#78742574
Content hash
78742574
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00047
Status: valid/unmigrated Version: rel:R25-11#60324d85 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_00047@rel:R25-11#60324d85
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#4afcff802026-09-30
  • R19-11rel:R19-11#653b04072026-10-14
  • R20-11rel:R20-11#0d9118072026-10-14
  • R21-11rel:R21-11#53a1e66d2026-10-14
  • R22-11rel:R22-11#6d261f9c2026-10-14
  • R23-11rel:R23-11#8d4fd37e2026-10-14
  • R24-11rel:R24-11#e99607a92026-10-14
  • R25-11rel:R25-11#60324d852026-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

функция ResetKey [SWS_PER_00426] 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_00139, RS_AP_00159

ara::core::Result< void > ResetKey (ara::core::StringView key) noexcept;

Resets a key of this Key-Value Storage to its initial value. ResetKey allows to reset a single key to its initial value. If the key is currently not available in the Key-Value Storage, it is re-created. Afterwards, the key-value pair will appear in both cases as if it was newly installed from the current Target Configuration. ResetKey will fail with kInitValueNotAvailable when neither Application Design nor Target Configuration define an initial value for the key. ResetKey may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: ddb1025237e2 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Синхронный метод ResetKey сбрасывает отдельную пару «ключ — значение» в экземпляре ara::per::KeyValueStorage к ее начальному значению [SWS_PER_00426]. В качестве параметра передается идентификатор key как ara::core::StringView [SWS_PER_00426]. Если ключ в данный момент отсутствует в хранилище, он создается заново. В обоих случаях состояние записи впоследствии соответствует новой установке из текущей Target Configuration [SWS_PER_00426]. Функция объявлена как noexcept и возвращает ara::core::Result<void> [SWS_PER_00426].

Обработка ошибок

Если при выполнении возникает ошибка, объект Result возвращает соответствующий код ошибки [SWS_PER_00426]:

  • PerErrc::kInitValueNotAvailable: если начальное значение для ключа не определено ни в Application Design, ни в Target Configuration (семантика отката) [SWS_PER_00426].
  • kIllegalWrite: если Key-Value Storage сконфигурирован только для чтения (read-only) [SWS_PER_00426].
  • PerErrc::kPhysicalStorageFailure или PerErrc::kOutOfStorageSpace: при физических ошибках доступа к памяти или недостаточном объеме памяти (без семантики отката) [SWS_PER_00426].
  • PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed или PerErrc::kQuotaExceeded: при нарушениях целостности, криптографических ошибках и ошибках аутентификации или превышении сконфигурированного AllowedSize (в каждом случае с семантикой отката) [SWS_PER_00426].

Параллелизм и взаимодействие

Функция является thread-safe и exception-safe [SWS_PER_00426]. Однако вызов может быть задержан, если параллельно из другого потока активны операции масштаба всего хранилища, такие как RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] или DiscardPendingChanges [SWS_PER_00365]. Аналогично, параллельные обращения к одному и тому же ключу через SetValue [SWS_PER_00046], GetValue [SWS_PER_00044] [SWS_PER_00332], GetCurrentValueSize [SWS_PER_00554], RemoveKey [SWS_PER_00047], RecoverKey [SWS_PER_00427] или еще один ResetKey приводят к задержкам [SWS_PER_00426].

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

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

Parameter (in)

ParameterBeschreibung
keyThe key to be reset.

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
AccessReturned if the Key-Value Storage is configured as read- only.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kInitValueNotAvailablerollback_semantics Returned if no intitial value was configured for this key.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial value.
PerErrc::kQuotaExceededrollback_semantics Returned if the initial value would exceed the configured maximum AllowedSize of the Key-Value Storage.
PerErrc::kAuthenticationFailedrollback_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_00426
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00426@rel:R25-11#aac18628
Content hash
aac18628
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00426
Status: valid/unmigrated Version: rel:R25-11#e8b55641 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_00426@rel:R25-11#e8b55641
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#cb5662c22026-09-30
  • R20-11rel:R20-11#0af4dfeb2026-10-14
  • R21-11rel:R21-11#504218172026-10-14
  • R22-11rel:R22-11#e62113552026-10-14
  • R23-11rel:R23-11#221d69462026-10-14
  • R24-11rel:R24-11#e9b91b262026-10-14
  • R25-11rel:R25-11#e8b556412026-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

функция SetValue [SWS_PER_00046] 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_00136, RS_AP_00139, RS_AP_00159

template <class T> ara::core::Result< void > SetValue (ara::core::StringView key, const T &value) noexcept;

Stores a key-value pair in this Key-Value Storage. If a value already exists and has the same data type as the new value, it is overwritten. If the new value has a different data type than the stored value, kDataTypeMismatch is returned. SetValue may be delayed by an ongoing call from another thread to RemoveAllKeys, SyncTo Storage, or DiscardPendingChanges, or to SetValue, GetValue, GetCurrentValueSize, Remove Key, RecoverKey, or ResetKey for the same key-value pair. This method uses transaction semantics, the changes only take effect when SyncToStorage is called.

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

Template-Parameter

ParameterBeschreibung
TThe type of the value that shall be set.

Parameter (in)

ParameterBeschreibung
keyThe key to assign the value to.
valueThe value to store.

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
AccessReturned if the Key-Value Storage is configured as read- only, or if it is configured as write-only-once and the key already exists.
PerErrc::kPhysicalStorageFailurerollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kDataTypeMismatchrollback_semantics Returned if the data type of an already stored value does not match the templated type.
PerErrc::kOutOfStorageSpacerollback_semantics Returned if the available physical storage space is insufficient for the new value.
PerErrc::kQuotaExceededrollback_semantics Returned if the new value would exceed the configured maximum AllowedSize of the Key-Value Storage.
PerErrc::kAuthenticationFailedrollback_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_00046
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00046@rel:R25-11#2e73b2a0
Content hash
2e73b2a0
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00046
Status: valid/unmigrated Version: rel:R25-11#7952a862 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_00046@rel:R25-11#7952a862
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#914345842026-09-30
  • R19-11rel:R19-11#394485ea2026-10-14
  • R20-11rel:R20-11#9bd70fdb2026-10-14
  • R21-11rel:R21-11#fc6359392026-10-14
  • R22-11rel:R22-11#f00787ed2026-10-14
  • R23-11rel:R23-11#640b066a2026-10-14
  • R24-11rel:R24-11#6fe6b6b92026-10-14
  • R25-11rel:R25-11#7952a8622026-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

функция SyncToStorage [SWS_PER_00049] Upstream: RS_PER_00002, RS_AP_00119, RS_AP_00120, RS_AP_00127, RS_AP_00128, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

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

Flushes changed key-value pairs of the Key-Value Storage to the physical storage. SyncToStorage may be delayed by an ongoing call from another thread to RemoveAllKeys, DiscardPendingChanges, SetValue, RemoveKey, RecoverKey, or ResetKey.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 31e98920341c Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Синхронный метод SyncToStorage класса ara::per::KeyValueStorage записывает изменённые пары «ключ — значение» из буфера памяти долговременно в физическое хранилище [SWS_PER_00049]. Он не принимает параметров и возвращает ara::core::Result<void>, объявлен как noexcept, а также специфицирован как исключениебезопасный и thread-safe [SWS_PER_00049].

Взаимодействие и транзакционная семантика

Модифицирующие операции, такие как SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] и RemoveAllKeys [SWS_PER_00048], используют транзакционную семантику. Их изменения вступают в силу только с вызовом SyncToStorage [SWS_PER_00046]. Если требуется отменить ожидающие модификации перед записью, можно в качестве альтернативы вызвать DiscardPendingChanges [SWS_PER_00365].

Параллелизм

Хотя функция является thread-safe, выполнение может задерживаться, если параллельно в другом потоке активны такие операции, как SetValue, RemoveKey, RemoveAllKeys, DiscardPendingChanges, RecoverKey или ResetKey [SWS_PER_00049].

Обработка ошибок

Если синхронизация завершается сбоем, Result возвращает код ошибки [SWS_PER_00049]:

  • Ошибки с семантикой отката (rollback) (изменения откатываются): PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed, PerErrc::kQuotaExceeded, а также PerErrc::kIllegalWrite [SWS_PER_00049].
  • Ошибки без семантики отката (rollback): PerErrc::kPhysicalStorageFailure при ошибках физического доступа и PerErrc::kOutOfStorageSpace при нехватке места в хранилище [SWS_PER_00049].
  • Ошибки конфигурации: код ошибки Access, если хранилище сконфигурировано как read-only или при write-only-once ключ уже существует [SWS_PER_00049].

Это указание по использованию было сгенерировано автоматически на основе спецификации AUTOSAR R25-11.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite 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
AccessReturned if the Key-Value Storage is configured as read- only, or if it is configured as write-only-once and the key already exists.
PerErrc::kPhysicalStorageFailureno_rollback_semantics Returned if access to the physical storage fails.
PerErrc::kIntegrityCorruptedrollback_semantics Returned if stored data cannot be written because the structural integrity is corrupted.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption of stored data fails.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the added/changed values.
PerErrc::kQuotaExceededrollback_semantics Returned if the added/changed 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_00049
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00049@rel:R25-11#7895cb3e
Content hash
7895cb3e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00049
Status: valid/unmigrated Version: rel:R25-11#bedc7cd3 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_00049@rel:R25-11#bedc7cd3
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2fe641532026-09-30
  • R19-11rel:R19-11#a63d7bdd2026-10-14
  • R20-11rel:R20-11#2b2f8c592026-10-14
  • R21-11rel:R21-11#5a7863892026-10-14
  • R22-11rel:R22-11#7ba28f5a2026-10-14
  • R23-11rel:R23-11#0d431f372026-10-14
  • R24-11rel:R24-11#111d5e172026-10-14
  • R25-11rel:R25-11#bedc7cd32026-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_00323] Upstream: RS_PER_00002, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00145, RS_AP_00159

KeyValueStorage & operator= (KeyValueStorage &&kvs)=delete;

The move assignment operator for KeyValueStorage shall not be used.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00323
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00323@rel:R25-11#0e80ae80
Content hash
0e80ae80
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00323
Status: valid/unmigrated Version: rel:R25-11#0d46009f 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_00323@rel:R25-11#0d46009f
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d0aa05fb2026-09-30
  • R19-11rel:R19-11#c9df11fd2026-10-14
  • R20-11rel:R20-11#43e209d42026-10-14
  • R21-11rel:R21-11#3fa50ca32026-10-14
  • R22-11rel:R22-11#3a8958662026-10-14
  • R23-11rel:R23-11#d865b2282026-10-14
  • R24-11rel:R24-11#0d46009f2026-10-14
  • R25-11rel:R25-11#0d46009f2026-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_00325] Upstream: RS_PER_00002, RS_AP_00119, RS_AP_00120, RS_AP_00145

KeyValueStorage & operator= (const KeyValueStorage &)=delete;

The copy assignment operator for KeyValueStorage shall not be used.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00325
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00325@rel:R25-11#57514ff7
Content hash
57514ff7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00325
Status: valid/unmigrated Version: rel:R25-11#7eccc0d0 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_00325@rel:R25-11#7eccc0d0
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#25bc66e92026-09-30
  • R19-11rel:R19-11#fec94e692026-10-14
  • R20-11rel:R20-11#f05ae5d42026-10-14
  • R21-11rel:R21-11#f05ae5d42026-10-14
  • R22-11rel:R22-11#10326f822026-10-14
  • R23-11rel:R23-11#2038e13d2026-10-14
  • R24-11rel:R24-11#7eccc0d02026-10-14
  • R25-11rel:R25-11#7eccc0d02026-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

функция ~KeyValueStorage [SWS_PER_00050] Upstream: RS_PER_00002, RS_AP_00120, RS_AP_00129, RS_AP_00134, RS_AP_00145, RS_AP_00159

~KeyValueStorage () noexcept;

Destructor for KeyValueStorage.

Header-Datei#include "ara/per/key_value_storage.h"
Scopeclass ara::per::KeyValueStorage
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

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

Record
AUTOSAR/AP/record/SWS_PER_00050
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00050@rel:R25-11#602a467a
Content hash
602a467a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00050
Status: valid/unmigrated Version: rel:R25-11#686fc2dc 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_00050@rel:R25-11#686fc2dc
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#c322006e2026-09-30
  • R19-11rel:R19-11#d5051f6a2026-10-14
  • R20-11rel:R20-11#a653a0472026-10-14
  • R21-11rel:R21-11#a653a0472026-10-14
  • R22-11rel:R22-11#3e0145ae2026-10-14
  • R23-11rel:R23-11#8187a0df2026-10-14
  • R24-11rel:R24-11#686fc2dc2026-10-14
  • R25-11rel:R25-11#686fc2dc2026-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