DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Gestiona pares clave-valor persistentes a través de operaciones transaccionales de lectura y escritura con sincronización explícita.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 74f93d55aa8a Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Gestiona pares clave-valor persistentes a través de operaciones transaccionales de lectura y escritura con sincronización explícita.

La clase proporciona un almacenamiento de clave-valor que opera de manera transaccional, cuyas modificaciones solo se escriben en el soporte de datos físico mediante SyncToStorage() o se descartan mediante DiscardPendingChanges() [SWS_PER_00049], [SWS_PER_00365]. Las instancias no son copiables ni móviles y ofrecen métodos de acceso seguros para subprocesos, pero requieren la exclusión de llamadas concurrentes durante la destrucción [SWS_PER_00322], [SWS_PER_00050]. En caso de defectos de hardware durante la sincronización, ya no interviene una semántica de reversión automática [SWS_PER_00049].

Contexto

La clase ara::per::KeyValueStorage proporciona un almacenamiento de clave-valor tipificado dentro de la AUTOSAR Adaptive Platform que gestiona datos persistentes como un conjunto de claves con valores asignados. Sirve a las aplicaciones como interfaz principal para el almacenamiento persistente y la recuperación de datos de aplicación configurados. Los accesos se realizan con semántica de transacción a través de un estado de transacción interno en lugar de directamente en el medio de almacenamiento físico, tal y como está especificado, por ejemplo, para operaciones de lectura en [SWS_PER_00042], [SWS_PER_00043], [SWS_PER_00044], [SWS_PER_00332] y [SWS_PER_00554]. Las operaciones modificadoras tienen inicialmente un efecto puramente transaccional y modifican el almacenamiento físico solo tras una sincronización explícita [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].

Ciclo de vida

La instanciación y la propiedad de ara::per::KeyValueStorage están sujetas a restricciones estrictas: tanto el constructor por defecto [SWS_PER_00459] como los constructores de copia y de movimiento [SWS_PER_00324], [SWS_PER_00322] están eliminados (=delete). Del mismo modo, los operadores de asignación por copia y por movimiento están explícitamente suprimidos [SWS_PER_00325], [SWS_PER_00323]. Por lo tanto, las instancias no pueden copiarse ni moverse. La creación de un objeto de almacenamiento se realiza mediante la inicialización a través de OpenKeyValueStorage(), la cual define al mismo tiempo el punto de partida para las modificaciones pendientes [SWS_PER_00365]. El destructor [SWS_PER_00050] está especificado como a prueba de excepciones, pero explícitamente como no seguro para subprocesos; por lo tanto, la destrucción solo debe tener lugar cuando ya no haya accesos paralelos en ejecución. En funcionamiento regular, todos los métodos de acceso están diseñados como seguros para subprocesos, pero pueden retrasarse si otros subprocesos realizan llamadas simultáneas de escritura o sincronización [SWS_PER_00046], [SWS_PER_00049], [SWS_PER_00365].

Ruta de uso

Una ruta de uso típica comprende el establecimiento o la actualización de valores de datos, la comprobación o lectura opcional del estado de transacción actual y la escritura persistente o el descarte final de las modificaciones. Con SetValue<T>() se asigna o sobrescribe un par clave-valor en el contexto de transacción actual [SWS_PER_00046]. Las claves existentes pueden comprobarse a través de KeyExists() [SWS_PER_00043], determinarse su tamaño en bytes a través de GetCurrentValueSize() [SWS_PER_00554] y leerse sus valores a través de las sobrecargas con seguridad de tipos de GetValue<T>() [SWS_PER_00044], [SWS_PER_00332]. Solo la llamada a SyncToStorage() transfiere todas las modificaciones acumuladas atómicamente al medio de almacenamiento físico [SWS_PER_00049]. Si, por el contrario, deben descartarse las modificaciones no sincronizadas, DiscardPendingChanges() restablece el estado al punto del último SyncToStorage() o de la apertura [SWS_PER_00365].

Flujo transaccional de almacenamiento y sincronizaciónAplicaciónKeyValueStoragePhysischerSpeicherSetValue(key, value)Transaktionspuffer aktualisierenResult<void>GetValue<T>(key)Transaktionsstand lesenResult<T>altGuardar cambios permanentementeSyncToStorage()Persistir bloques de datosStatus QuittungResult<void>Descartar cambiosDiscardPendingChanges()Vaciar el búfer al estado de la última sincronizaciónResult<void>

Diagrama de secuencias: desarrollo típico de modificación, comprobación y sincronización con el almacenamiento físico. Fuentes: [SWS_PER_00046], [SWS_PER_00332], [SWS_PER_00049], [SWS_PER_00365]

Escenarios de error

Todos los métodos devuelven errores a través de ara::core::Result. Al respecto, se distingue con precisión entre operaciones con garantía de reversión y errores sin reversión:

  • Errores de configuración y de protección contra escritura: al invocar métodos de escritura en un almacenamiento protegido contra escritura o con una clave ya existente en configuraciones Write-Only-Once, la operación falla con PerErrc::kIllegalWriteAccess [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].
  • Conflictos de tipos y disponibilidad de claves: si el tipo de datos no coincide con el tipo almacenado al sobrescribir o leer, se produce PerErrc::kDataTypeMismatch [SWS_PER_00044], [SWS_PER_00332], [SWS_PER_00046]. Las claves no encontradas notifican PerErrc::kKeyNotFound [SWS_PER_00044], [SWS_PER_00554]. En ResetKey() se desencadena PerErrc::kInitValueNotAvailable si no hay ningún valor inicial definido [SWS_PER_00426].
  • Violaciones de espacio de almacenamiento y de cuota: si el nuevo volumen de datos supera el límite configurado maximumAllowedSize, se notifica PerErrc::kQuotaExceeded [SWS_PER_00046], [SWS_PER_00049]. Si el almacenamiento físico no es suficiente, SyncToStorage() o RecoverKey() devuelven el error PerErrc::kOutOfStorageSpace sin semántica de reversión [SWS_PER_00049], [SWS_PER_00427].
  • Errores de integridad, criptográficos y de hardware: los errores de acceso físico (PerErrc::kPhysicalStorageFailure) poseen semántica de reversión en operaciones de lectura y SetValue() [SWS_PER_00046], mientras que en SyncToStorage() no poseen semántica de reversión [SWS_PER_00049]. La corrupción estructural (PerErrc::kIntegrityCorrupted), los errores de descifrado (PerErrc::kEncryptionFailed) o las comprobaciones de MAC fallidas (PerErrc::kAuthenticationFailed) son señalados por operaciones de lectura, escritura y recuperación como RecoverKey() [SWS_PER_00427].

Esta guía fue generada por un sistema de documentación asistido por IA sobre la base de AUTOSAR R25-11.

Mapa de miembros

Diagrama de clases

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()

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

KeyValueStorage función 3

The move constructor for KeyValueStorage shall not be used.

Sobrecargas KeyValueStorage 3
KeyValueStorage (KeyValueStorage &&kvs)=delete; SWS_PER_00322
KeyValueStorage (const KeyValueStorage &)=delete; SWS_PER_00324
KeyValueStorage ()=delete; SWS_PER_00459

Destructor for KeyValueStorage.

~KeyValueStorage () noexcept;

Métodos

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 función

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;

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 función 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.

Sobrecargas 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 función

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 función

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 función

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 función

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 función

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 función

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 función

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;

Operadores

operator= función 2

The move assignment operator for KeyValueStorage shall not be used.

Sobrecargas = 2
KeyValueStorage & operator= (KeyValueStorage &&kvs)=delete; SWS_PER_00323
KeyValueStorage & operator= (const KeyValueStorage &)=delete; SWS_PER_00325

Documentación de los métodos

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 73a36630080a Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica

La función miembro síncrona DiscardPendingChanges de la clase ara::per::KeyValueStorage ([SWS_PER_00365]) se proporciona a través del encabezado ara/per/key_value_storage.h. No toma ningún parámetro y devuelve un ara::core::Result<void>. Su finalidad es descartar todos los cambios pendientes en la instancia de Key-Value Storage que se hayan acumulado desde la última llamada a SyncToStorage o desde la apertura mediante OpenKeyValueStorage() [SWS_PER_00365].

Interacción y comportamiento transaccional

Las operaciones de escritura como SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] y RemoveAllKeys [SWS_PER_00048] están sujetas a una semántica transaccional. Sus modificaciones solo se escriben permanentemente en el soporte de almacenamiento físico mediante la llamada a SyncToStorage [SWS_PER_00049]. A través de DiscardPendingChanges, estas modificaciones no guardadas se revierten, de modo que las consultas mediante GetCurrentValueSize vuelven a reflejar también el estado inicial transaccional anterior [SWS_PER_00554].

Tratamiento de errores y concurrencia

En caso de error, el resultado contiene un error específico del fabricante o un código de error de PerErrc con semántica de rollback definida [SWS_PER_00365]:

  • PerErrc::kIllegalWriteAccess: si el almacenamiento está protegido contra escritura o, en caso de configuración write-only-once, la clave ya existe.
  • PerErrc::kPhysicalStorageFailure: si falla el acceso al medio de almacenamiento físico.
  • PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed o PerErrc::kAuthenticationFailed: en caso de pérdida de integridad, errores de validación, errores de descifrado o comprobación MAC fallida.

El método está declarado como noexcept, seguro ante excepciones (exception safe) y seguro para subprocesos (thread-safe) [SWS_PER_00365]. No obstante, la ejecución puede retrasarse si en paralelo en otros hilos están activas llamadas a SyncToStorage, SetValue, RemoveKey, RemoveAllKeys, ResetKey o RecoverKey [SWS_PER_00365] [SWS_PER_00426] [SWS_PER_00427].

Este texto ha sido generado por una IA y curado a partir de la especificación de AUTOSAR.

Guía del implementador pendiente (complejidad 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#a34413cb
Content hash
a34413cb
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

función 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#08ad4895
Content hash
08ad4895
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

función 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#bdcc8130
Content hash
bdcc8130
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

función 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#d56b8f60
Content hash
d56b8f60
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

función 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#a07b4f67
Content hash
a07b4f67
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: d5f804c0cf2d Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método síncrono KeyExists de la clase ara::per::KeyValueStorage comprueba si un par clave-valor determinado existe en la memoria [SWS_PER_00043]. Como parámetro de entrada se pasa la clave que se va a comprobar key de tipo ara::core::StringView [SWS_PER_00043]. El valor de retorno es un ara::core::Result<bool> que contiene true si la clave pudo ser localizada y, en caso contrario, false [SWS_PER_00043]. La función está declarada como const, así como noexcept, y es segura frente a excepciones (exception safe) [SWS_PER_00043].

En cuanto a semántica y concurrencia, KeyExists opera de forma basada en transacciones: refleja el estado actual de la transacción y no necesariamente el almacenamiento físico [SWS_PER_00043]. Aunque la ejecución es segura para subprocesos (thread-safe), el resultado devuelto solo es preciso si no se añaden ni se eliminan pares clave-valor simultáneamente [SWS_PER_00043]. Por ejemplo, si el par se elimina en otro subproceso inmediatamente después de devolverse true, el resultado pierde su validez [SWS_PER_00043].

En caso de error, el Result contiene un código de error específico [SWS_PER_00043]:

  • StorageFailure: error al acceder a la memoria física [SWS_PER_00043].
  • PerErrc::kIntegrityCorrupted: los datos almacenados no pueden leerse debido a una vulneración de la integridad estructural [SWS_PER_00043].
  • PerErrc::kValidationFailed: No se puede garantizar la validez de los datos almacenados [SWS_PER_00043].
  • PerErrc::kEncryptionFailed: falla el descifrado de los datos [SWS_PER_00043].
  • PerErrc::kAuthenticationFailed: falla la verificación del MAC [SWS_PER_00043].
  • También se pueden devolver errores específicos del proveedor (vendor specific error) [SWS_PER_00043].

Este texto fue generado por una IA y se basa en la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#ce39feed
Content hash
ce39feed
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

función 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#e6392873
Content hash
e6392873
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

función 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#16871679
Content hash
16871679
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

función 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#be20b311
Content hash
be20b311
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 424fba0f9a95 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método síncrono RecoverKey de la clase ara::per::KeyValueStorage sirve para la restauración por mejor esfuerzo (best-effort) de un par clave-valor individual cuando fallan las comprobaciones internas de redundancia [SWS_PER_00427]. Recibe el identificador de la clave a través del parámetro key como ara::core::StringView y notifica el éxito o el error mediante un ara::core::Result<void> [SWS_PER_00427]. Tras la restauración, el par puede presentar contenidos obsoletos o valores iniciales, o bien haberse perdido por completo [SWS_PER_00427].

Si se produce un error, el resultado proporciona códigos de error específicos de PerErrc o errores específicos del fabricante [SWS_PER_00427]:

  • kKeyNotFound: la clave especificada no existe en el almacenamiento [SWS_PER_00427].
  • kIllegalWriteAccess: el almacenamiento está configurado como de solo lectura (read-only) [SWS_PER_00427].
  • kPhysicalStorageFailure: El acceso al almacenamiento físico ha fallado [SWS_PER_00427].
  • kIntegrityCorrupted: daños en la integridad estructural impiden la escritura de datos [SWS_PER_00427].
  • kEncryptionFailed o bien kAuthenticationFailed: falla el cifrado, el descifrado o la validación MAC [SWS_PER_00427].
  • kOutOfStorageSpace o bien kQuotaExceeded: la memoria física disponible es insuficiente o se supera el tamaño máximo configurado [SWS_PER_00427].

La operación está especificada como thread-safe y exception-safe [SWS_PER_00427]. Sin embargo, las llamadas pueden demorarse si se ejecutan en paralelo acciones a nivel de almacenamiento completo como RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] o DiscardPendingChanges [SWS_PER_00365] [SWS_PER_00427]. Asimismo, las llamadas simultáneas a SetValue [SWS_PER_00046], GetValue [SWS_PER_00044], GetCurrentValueSize [SWS_PER_00554], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] o de nuevo a RecoverKey para la misma clave provocan demoras [SWS_PER_00427]. A diferencia de ResetKey [SWS_PER_00426], que restablece la entrada a su estado de fábrica, RecoverKey intenta una recuperación de datos [SWS_PER_00427].

Esta nota de uso fue generada automáticamente sobre la base de la especificación.

Guía del implementador pendiente (complejidad 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#8124b341
Content hash
8124b341
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 0ae35af4fc43 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Uso y semántica de transacciones

El método RemoveAllKeys de la clase ara::per::KeyValueStorage elimina del almacenamiento todos los pares clave-valor y sus contenidos correspondientes [SWS_PER_00048]. La función se invoca de forma síncrona, no posee parámetros de transferencia y está especificada con noexcept [SWS_PER_00048]. La operación está sujeta a una semántica de transacciones: el borrado de todas las claves solo se hace efectivo de forma permanente en el almacenamiento físico en cuanto se invoca posteriormente SyncToStorage [SWS_PER_00049] [SWS_PER_00048]. Dentro de la transacción en curso, las operaciones de lectura como GetValue [SWS_PER_00332] o las consultas de tamaño mediante GetCurrentValueSize [SWS_PER_00554] reflejan de inmediato el estado vaciado [SWS_PER_00044].

Manejo de errores

Como valor de retorno sirve ara::core::Result<void> [SWS_PER_00048]. Si se produce un error, se aplica una semántica de reversión (rollback) [SWS_PER_00048]. Entre los posibles errores se incluyen:

  • Violación de acceso en caso de almacenamiento configurado como de solo lectura (interpretación: esto debería corresponder al código de error PerErrc::kIllegalWrite) [SWS_PER_00048], Pregunta Q-a820d779e19ac5c9 (abierta)
  • PerErrc::kPhysicalStorageFailure en caso de errores de acceso al medio de almacenamiento físico [SWS_PER_00048],
  • PerErrc::kIntegrityCorrupted en caso de integridad de datos estructural dañada [SWS_PER_00048],
  • PerErrc::kEncryptionFailed así como PerErrc::kAuthenticationFailed en caso de fallos del cifrado/descifrado o de la comprobación MAC [SWS_PER_00048], así como errores específicos del fabricante.

Concurrencia e interacción

El método está catalogado como thread-safe y exception safe [SWS_PER_00048]. No obstante, la ejecución puede retrasarse si en otro subproceso están activas al mismo tiempo invocaciones de RemoveAllKeys, SyncToStorage [SWS_PER_00049], SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] o RecoverKey [SWS_PER_00427] [SWS_PER_00048].

Este texto fue generado por una IA a partir de las especificaciones requeridas.

Guía del implementador pendiente (complejidad 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#6214dd1d
Content hash
6214dd1d
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ea5f39b17dd8 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La función miembro sincrónica RemoveKey de la clase ara::per::KeyValueStorage sirve para eliminar una clave y el valor asignado del Key-Value Storage [SWS_PER_00047]. Recibe el identificador de la clave que se va a eliminar como ara::core::StringView a través del parámetro key y devuelve un ara::core::Result<void> [SWS_PER_00047].

La operación está sujeta a una semántica transaccional: las modificaciones no se hacen persistentes de inmediato en el almacenamiento físico, sino que surten efecto únicamente cuando se llama explícitamente a SyncToStorage [SWS_PER_00047], el cual sincroniza los pares clave-valor modificados [SWS_PER_00049]. Las modificaciones pendientes se pueden descartar antes de la sincronización mediante DiscardPendingChanges [SWS_PER_00365]. Los accesos de lectura como GetValue [SWS_PER_00044], [SWS_PER_00332] o GetCurrentValueSize [SWS_PER_00554] operan igualmente sobre el estado de la transacción y reflejan la eliminación de forma inmediata.

En cuanto a la concurrencia, el método está especificado como seguro para subprocesos (thread-safe) y seguro frente a excepciones (exception safe) [SWS_PER_00047]. Una llamada puede demorarse si en paralelo se ejecutan RemoveAllKeys, SyncToStorage o DiscardPendingChanges en otro subproceso, o si simultáneamente operaciones tales como SetValue, GetValue, GetCurrentValueSize, RemoveKey, RecoverKey o ResetKey acceden al mismo par clave-valor [SWS_PER_00047].

Si se produce un error durante la ejecución, se aplica una semántica de reversión (rollback) y el objeto Result devuelto contiene un código de error [SWS_PER_00047]:

  • PerErrc::kKeyNotFound: la clave especificada no existe en el almacenamiento [SWS_PER_00047].
  • PerErrc::kIllegalWriteAccess: el Key-Value Storage está configurado como de solo lectura (read-only) [SWS_PER_00047].
  • PerErrc::kPhysicalStorageFailure: ha fallado el acceso al medio de almacenamiento físico [SWS_PER_00047].
  • PerErrc::kIntegrityCorrupted: la escritura falla debido a una integridad estructural dañada [SWS_PER_00047].
  • PerErrc::kEncryptionFailed o bien PerErrc::kAuthenticationFailed: el cifrado o descifrado falla, o el cálculo/verificación del MAC es erróneo [SWS_PER_00047].

Esta nota de uso se basa exclusivamente en las especificaciones de la plataforma AUTOSAR Adaptive para la versión R25-11.

Guía del implementador pendiente (complejidad 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#dc17557b
Content hash
dc17557b
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: ddb1025237e2 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

usar

El método síncrono ResetKey restablece un par clave-valor individual en una instancia de ara::per::KeyValueStorage a su valor inicial [SWS_PER_00426]. Como parámetro se pasa el identificador key como ara::core::StringView [SWS_PER_00426]. Si la clave no existe actualmente en el almacenamiento, se crea de nuevo. En ambos casos, el estado de la entrada corresponde posteriormente al de una nueva instalación a partir de la Target Configuration actual [SWS_PER_00426]. La función está declarada como noexcept y devuelve un ara::core::Result<void> [SWS_PER_00426].

Manejo de errores

Si se produce un error durante la ejecución, el objeto Result devuelve el correspondiente código de error [SWS_PER_00426]:

  • PerErrc::kInitValueNotAvailable: si no se ha definido ningún valor inicial para la clave ni en el Application Design ni en la Target Configuration (semántica de reversión) [SWS_PER_00426].
  • kIllegalWrite: si el Key-Value Storage está configurado como de solo lectura (read-only) [SWS_PER_00426].
  • PerErrc::kPhysicalStorageFailure o PerErrc::kOutOfStorageSpace: en caso de errores de acceso físico al almacenamiento o de espacio de almacenamiento insuficiente (sin semántica de reversión) [SWS_PER_00426].
  • PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed o PerErrc::kQuotaExceeded: en caso de violaciones de integridad, errores de criptografía y autenticación, o superación del AllowedSize configurado (en cada caso con semántica de reversión) [SWS_PER_00426].

Concurrencia e interacción

La función es thread-safe y exception-safe [SWS_PER_00426]. Sin embargo, la llamada se puede demorar si están activas en paralelo desde otro hilo operaciones a nivel de almacenamiento completo como RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] o DiscardPendingChanges [SWS_PER_00365]. Del mismo modo, los accesos concurrentes a la misma clave a través de SetValue [SWS_PER_00046], GetValue [SWS_PER_00044] [SWS_PER_00332], GetCurrentValueSize [SWS_PER_00554], RemoveKey [SWS_PER_00047], RecoverKey [SWS_PER_00427] o un ResetKey adicional provocan demoras [SWS_PER_00426].

Esta nota de uso se ha creado automáticamente a partir de la especificación de AUTOSAR Adaptive R25-11.

Guía del implementador pendiente (complejidad 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#8fe637f1
Content hash
8fe637f1
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

función 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#26bb6755
Content hash
26bb6755
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 31e98920341c Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método sincrónico SyncToStorage de la clase ara::per::KeyValueStorage escribe de forma permanente en el almacenamiento físico los pares clave-valor modificados procedentes del búfer de memoria [SWS_PER_00049]. No recibe ningún parámetro y devuelve un ara::core::Result<void>, está declarado como noexcept y especificado como seguro frente a excepciones y seguro para subprocesos (thread-safe) [SWS_PER_00049].

Interacción y semántica transaccional

Las operaciones de modificación tales como SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] y RemoveAllKeys [SWS_PER_00048] emplean semántica transaccional. Sus modificaciones no surten efecto hasta la llamada a SyncToStorage [SWS_PER_00046]. Si se desean descartar las modificaciones pendientes antes de escribir, se puede invocar alternativamente DiscardPendingChanges [SWS_PER_00365].

concurrencia

Aunque la función es thread-safe, la ejecución puede retrasarse si en paralelo en otro hilo están activas operaciones como SetValue, RemoveKey, RemoveAllKeys, DiscardPendingChanges, RecoverKey o ResetKey [SWS_PER_00049].

Manejo de errores

Si la sincronización falla, el Result devuelve un código de error [SWS_PER_00049]:

  • Errores con semántica de rollback (los cambios se revierten): PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed, PerErrc::kQuotaExceeded así como PerErrc::kIllegalWrite [SWS_PER_00049].
  • Errores sin semántica de rollback: PerErrc::kPhysicalStorageFailure en caso de errores de acceso físico y PerErrc::kOutOfStorageSpace en caso de espacio de almacenamiento insuficiente [SWS_PER_00049].
  • Errores de configuración: código de error Access si el almacenamiento está configurado como read-only o si, en caso de write-only-once, la clave ya existe [SWS_PER_00049].

Esta nota de uso fue generada automáticamente sobre la base de la especificación AUTOSAR R25-11.

Guía del implementador pendiente (complejidad 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#896cc6d8
Content hash
896cc6d8
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

función 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#1d12b3a8
Content hash
1d12b3a8
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

función 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#3c6e4374
Content hash
3c6e4374
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

función ~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#b918b427
Content hash
b918b427
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