DEENESPTFRRUARHIKOZHNL

classe 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

Guia do utilizadorGERADO POR IA

Gerencia pares chave-valor persistentes por meio de operações transacionais de leitura e escrita com sincronização explícita.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 74f93d55aa8a Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Gerencia pares chave-valor persistentes por meio de operações transacionais de leitura e escrita com sincronização explícita.

A classe fornece um armazenamento chave-valor de operação transacional, cujas modificações só são gravadas na mídia física de dados por SyncToStorage() ou descartadas por DiscardPendingChanges() [SWS_PER_00049], [SWS_PER_00365]. Instâncias não são copiáveis nem móveis e oferecem métodos de acesso thread-safe, exigindo, contudo, a exclusão de chamadas concorrentes durante a destruição [SWS_PER_00322], [SWS_PER_00050]. No caso de falhas de hardware durante a sincronização, a semântica de rollback automático não se aplica mais [SWS_PER_00049].

Contexto

A classe ara::per::KeyValueStorage fornece um armazenamento chave-valor tipado dentro da AUTOSAR Adaptive Platform, que gerencia dados persistentes como um conjunto de chaves com valores associados. Ela serve como interface primária para aplicações na persistência e recuperação de dados de aplicação configurados. Os acessos ocorrem com semântica de transação por meio de um estado de transação interno em vez de diretamente no meio físico de armazenamento, conforme especificado para operações de leitura em [SWS_PER_00042], [SWS_PER_00043], [SWS_PER_00044], [SWS_PER_00332] e [SWS_PER_00554]. Operações modificadoras têm efeito inicial puramente transacional e só alteram o armazenamento físico mediante uma sincronização explícita [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].

Ciclo de vida

A instanciação e a propriedade de ara::per::KeyValueStorage estão sujeitas a restrições estritas: tanto o construtor padrão [SWS_PER_00459] quanto os construtores de cópia e de movimento [SWS_PER_00324], [SWS_PER_00322] estão deletados (=delete). Do mesmo modo, os operadores de atribuição por cópia e por movimento estão explicitamente removidos [SWS_PER_00325], [SWS_PER_00323]. As instâncias não podem, portanto, ser copiadas nem movidas. A criação de um objeto de armazenamento ocorre pela inicialização via OpenKeyValueStorage(), que define simultaneamente o ponto de partida para alterações pendentes [SWS_PER_00365]. O destrutor [SWS_PER_00050] é especificado como exception-safe, mas explicitamente como não thread-safe; a destruição só pode, portanto, ocorrer quando não houver mais acessos paralelos em execução. Na operação regular, todos os métodos de acesso são projetados como thread-safe, mas podem sofrer atrasos em caso de chamadas simultâneas de escrita ou sincronização de outras threads [SWS_PER_00046], [SWS_PER_00049], [SWS_PER_00365].

Caminho de utilização

Um caminho de uso típico inclui a definição ou atualização de valores de dados, verificação ou leitura opcional do estado atual da transação e a gravação persistente final ou descarte das alterações. Com SetValue<T>(), um par chave-valor é atribuído ou sobrescrito no contexto de transação atual [SWS_PER_00046]. Chaves existentes podem ser verificadas via KeyExists() [SWS_PER_00043], seu tamanho em bytes determinado via GetCurrentValueSize() [SWS_PER_00554] e seus valores lidos pelas sobrecargas type-safe de GetValue<T>() [SWS_PER_00044], [SWS_PER_00332]. Somente a chamada de SyncToStorage() transfere todas as alterações acumuladas atomicamente para o meio de armazenamento físico [SWS_PER_00049]. Se, por outro lado, alterações não sincronizadas devam ser descartadas, DiscardPendingChanges() restaura o estado para a versão da última SyncToStorage() ou da abertura [SWS_PER_00365].

Fluxo transacional de armazenamento e sincronizaçãoAplicaçãoKeyValueStoragePhysischerSpeicherSetValue(key, value)Transaktionspuffer aktualisierenResult<void>GetValue<T>(key)Transaktionsstand lesenResult<T>altSalvar alterações permanentementeSyncToStorage()Persistir blocos de dadosStatus QuittungResult<void>Descartar alteraçõesDiscardPendingChanges()Esvaziar buffer para o estado da última sincronizaçãoResult<void>

Diagrama de sequência: fluxo típico de modificação, verificação e sincronização com o armazenamento físico. Fontes: [SWS_PER_00046], [SWS_PER_00332], [SWS_PER_00049], [SWS_PER_00365]

Cenários de erro

Todos os métodos retornam erros por meio de ara::core::Result. É feita uma distinção precisa entre operações com garantia de rollback e erros sem rollback:

  • Erros de configuração e proteção contra gravação: Ao chamar métodos de escrita em um armazenamento protegido contra gravação ou havendo chave já existente em configurações Write-Only-Once, a operação falha com PerErrc::kIllegalWriteAccess [SWS_PER_00046], [SWS_PER_00047], [SWS_PER_00048], [SWS_PER_00049].
  • Conflitos de tipo e disponibilidade de chave: Se o tipo de dados na sobrescrita ou leitura não coincidir com o tipo armazenado, ocorre PerErrc::kDataTypeMismatch [SWS_PER_00044], [SWS_PER_00332], [SWS_PER_00046]. Chaves não encontradas reportam PerErrc::kKeyNotFound [SWS_PER_00044], [SWS_PER_00554]. Em ResetKey(), PerErrc::kInitValueNotAvailable é disparado caso nenhum valor inicial esteja definido [SWS_PER_00426].
  • Violações de espaço de armazenamento e cota: Se o novo volume de dados exceder o limite configurado maximumAllowedSize, PerErrc::kQuotaExceeded é reportado [SWS_PER_00046], [SWS_PER_00049]. Se a memória física for insuficiente, SyncToStorage() ou RecoverKey() retorna o erro PerErrc::kOutOfStorageSpace sem semântica de rollback [SWS_PER_00049], [SWS_PER_00427].
  • Erros de integridade, criptografia e hardware: Erros de acesso físico (PerErrc::kPhysicalStorageFailure) possuem semântica de rollback em operações de leitura e SetValue() [SWS_PER_00046], mas nenhuma semântica de rollback em SyncToStorage() [SWS_PER_00049]. Corrupção estrutural (PerErrc::kIntegrityCorrupted), erros de descriptografia (PerErrc::kEncryptionFailed) ou falhas na verificação de MAC (PerErrc::kAuthenticationFailed) são sinalizados por operações de leitura, escrita e recuperação, como RecoverKey() [SWS_PER_00427].

Este guia foi gerado por um sistema de documentação baseado em IA com base no AUTOSAR R25-11.

Mapa de membros

Diagrama de classes

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 detalhes

Selecione uma entrada no índice.

Construtores e destrutor

KeyValueStorage função 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 função

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 função 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 função

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 função

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 função

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 função

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 função

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 função

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 função

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= função 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

Documentação dos métodos

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 73a36630080a Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Utilização e semântica

A função-membro síncrona DiscardPendingChanges da classe ara::per::KeyValueStorage ([SWS_PER_00365]) é disponibilizada através do cabeçalho ara/per/key_value_storage.h. Ela não recebe parâmetros e retorna um ara::core::Result<void>. Sua finalidade é o descarte de todas as alterações pendentes na instância de key-value storage acumuladas desde a última chamada de SyncToStorage ou desde a abertura por meio de OpenKeyValueStorage() [SWS_PER_00365].

Interação e comportamento transacional

Operações de escrita como SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] e RemoveAllKeys [SWS_PER_00048] estão sujeitas a uma semântica transacional. Suas alterações são gravadas de forma permanente no meio de armazenamento físico apenas mediante a chamada de SyncToStorage [SWS_PER_00049]. Por meio de DiscardPendingChanges, essas modificações não salvas são revertidas, de modo que consultas via GetCurrentValueSize também voltem a refletir o estado inicial transacional anterior [SWS_PER_00554].

Tratamento de erros e simultaneidade

Em caso de erro, o resultado contém um erro específico do fabricante ou um código de erro de PerErrc com semântica de reversão definida [SWS_PER_00365]:

  • PerErrc::kIllegalWriteAccess: se o armazenamento for protegido contra escrita ou se, na configuração Write-Only-Once, a chave já existir.
  • PerErrc::kPhysicalStorageFailure: se o acesso ao meio de armazenamento físico falhar.
  • PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed ou PerErrc::kAuthenticationFailed: em caso de perda de integridade, erros de validação, erros de decodificação/descriptografia ou falha na verificação de MAC.

O método está declarado como noexcept, seguro contra exceções (exception safe) e seguro para threads (thread-safe) [SWS_PER_00365]. A execução pode, contudo, ser retardada se, em paralelo em outras threads, chamadas de SyncToStorage, SetValue, RemoveKey, RemoveAllKeys, ResetKey ou RecoverKey estiverem ativas [SWS_PER_00365] [SWS_PER_00426] [SWS_PER_00427].

Este texto foi gerado por uma IA e curado com base na especificação AUTOSAR.

Guia do implementador em breve (complexidade 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#5d981c96
Content hash
5d981c96
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

função 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#db93a2ed
Content hash
db93a2ed
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

função 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#3e69baac
Content hash
3e69baac
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

função 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#c4a480eb
Content hash
c4a480eb
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

função 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#c445e074
Content hash
c445e074
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: d5f804c0cf2d Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono KeyExists da classe ara::per::KeyValueStorage verifica se um determinado par chave-valor existe no armazenamento [SWS_PER_00043]. Como parâmetro de entrada, é transmitida a chave a verificar key do tipo ara::core::StringView [SWS_PER_00043]. O valor de retorno é um ara::core::Result<bool> que contém true se a chave tiver sido localizada e, caso contrário, false [SWS_PER_00043]. A função está declarada como const bem como noexcept e é segura contra exceções (exception safe) [SWS_PER_00043].

No que diz respeito à semântica e à concorrência, KeyExists opera com base em transações: reflete o estado atual da transação e não forçosamente o armazenamento físico [SWS_PER_00043]. Embora a execução seja segura para threads (thread-safe), o resultado fornecido só é preciso se não forem adicionados ou eliminados pares chave-valor em simultâneo [SWS_PER_00043]. Se, por exemplo, o par for removido noutra thread imediatamente após o retorno de true, o resultado perde a sua validade [SWS_PER_00043].

Em caso de erro, o Result contém um código de erro específico [SWS_PER_00043]:

  • StorageFailure: erro no acesso ao armazenamento físico [SWS_PER_00043].
  • PerErrc::kIntegrityCorrupted: os dados armazenados não podem ser lidos devido a integridade estrutural comprometida [SWS_PER_00043].
  • PerErrc::kValidationFailed: A validade dos dados armazenados não pode ser garantida [SWS_PER_00043].
  • PerErrc::kEncryptionFailed: a desencriptação dos dados falha [SWS_PER_00043].
  • PerErrc::kAuthenticationFailed: a verificação do MAC falha [SWS_PER_00043].
  • Erros específicos do fabricante (vendor specific error) também podem ser devolvidos [SWS_PER_00043].

Este texto foi gerado por uma IA e baseia-se na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#2a2e908c
Content hash
2a2e908c
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

função 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#f983f185
Content hash
f983f185
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

função 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#362f2eb4
Content hash
362f2eb4
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

função 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#33e219a0
Content hash
33e219a0
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 424fba0f9a95 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono RecoverKey da classe ara::per::KeyValueStorage serve para o restauro best-effort de um par chave-valor individual quando as verificações internas de redundância falham [SWS_PER_00427]. Ele recebe o identificador da chave através do parâmetro key como ara::core::StringView e comunica o sucesso ou erro através de um ara::core::Result<void> [SWS_PER_00427]. Após o restauro, o par pode apresentar conteúdos obsoletos ou valores iniciais, ou perder-se completamente [SWS_PER_00427].

Se ocorrer um erro, o resultado fornece códigos de erro específicos de PerErrc ou erros específicos do fabricante [SWS_PER_00427]:

  • kKeyNotFound: a chave especificada não existe no armazenamento [SWS_PER_00427].
  • kIllegalWriteAccess: O armazenamento está configurado como só de leitura (read-only) [SWS_PER_00427].
  • kPhysicalStorageFailure: o acesso ao armazenamento físico falhou [SWS_PER_00427].
  • kIntegrityCorrupted: Danos estruturais de integridade impedem a escrita de dados [SWS_PER_00427].
  • kEncryptionFailed ou kAuthenticationFailed: A encriptação, desencriptação ou validação MAC falha [SWS_PER_00427].
  • kOutOfStorageSpace ou kQuotaExceeded: O armazenamento físico disponível não é suficiente ou o tamanho máximo configurado é excedido [SWS_PER_00427].

A operação está especificada como thread-safe e exception-safe [SWS_PER_00427]. As chamadas podem, contudo, ser atrasadas se forem executadas em paralelo ações a nível de todo o armazenamento, como RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] ou DiscardPendingChanges [SWS_PER_00365] [SWS_PER_00427]. Da mesma forma, chamadas simultâneas de SetValue [SWS_PER_00046], GetValue [SWS_PER_00044], GetCurrentValueSize [SWS_PER_00554], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] ou novamente RecoverKey para a mesma chave causam atrasos [SWS_PER_00427]. Ao contrário de ResetKey [SWS_PER_00426], que repõe a entrada no seu estado de fornecimento, RecoverKey tenta uma recuperação de dados [SWS_PER_00427].

Esta nota de uso foi gerada automaticamente com base na especificação.

Guia do implementador em breve (complexidade 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#2a771109
Content hash
2a771109
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 0ae35af4fc43 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Uso e semântica transacional

O método RemoveAllKeys da classe ara::per::KeyValueStorage remove todos os pares chave-valor e seus conteúdos associados do armazenamento [SWS_PER_00048]. A função é chamada de forma síncrona, não possui parâmetros de passagem e é especificada com noexcept [SWS_PER_00048]. A operação segue uma semântica transacional: a exclusão de todas as chaves só se torna permanente no armazenamento físico assim que SyncToStorage [SWS_PER_00049] for chamado subsequentemente [SWS_PER_00048]. Dentro da transação em andamento, operações de leitura como GetValue [SWS_PER_00332] ou consultas de tamanho via GetCurrentValueSize [SWS_PER_00554] refletem imediatamente o estado esvaziado [SWS_PER_00044].

Tratamento de erros

Como valor de retorno é utilizado ara::core::Result<void> [SWS_PER_00048]. Se ocorrer um erro, aplica-se uma semântica de rollback [SWS_PER_00048]. Entre os possíveis erros estão:

  • violação de acesso em armazenamento configurado como somente leitura (interpretação: isto provavelmente deve corresponder ao código de erro PerErrc::kIllegalWrite) [SWS_PER_00048], Pergunta Q-a820d779e19ac5c9 (aberta)
  • PerErrc::kPhysicalStorageFailure em caso de erros no acesso à mídia de armazenamento física [SWS_PER_00048],
  • PerErrc::kIntegrityCorrupted em caso de integridade estrutural de dados corrompida [SWS_PER_00048],
  • PerErrc::kEncryptionFailed bem como PerErrc::kAuthenticationFailed em caso de falhas na criptografia/descriptografia ou na verificação de MAC [SWS_PER_00048], além de erros específicos do fabricante.

Concorrência e interação

O método é classificado como thread-safe e exception safe [SWS_PER_00048]. A execução pode, no entanto, ser atrasada se chamadas de RemoveAllKeys, SyncToStorage [SWS_PER_00049], SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047], ResetKey [SWS_PER_00426] ou RecoverKey [SWS_PER_00427] estiverem ativas simultaneamente em outra thread [SWS_PER_00048].

Este texto foi gerado por uma IA com base nas diretrizes da especificação.

Guia do implementador em breve (complexidade 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#9034276b
Content hash
9034276b
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ea5f39b17dd8 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A função-membro síncrona RemoveKey da classe ara::per::KeyValueStorage serve para remover uma chave e o valor associado do Key-Value Storage [SWS_PER_00047]. Recebe o identificador da chave a remover como ara::core::StringView através do parâmetro key e retorna um ara::core::Result<void> [SWS_PER_00047].

A operação está sujeita a uma semântica transacional: as alterações não se tornam imediatamente persistentes no armazenamento físico, tornando-se efetivas apenas quando SyncToStorage é explicitamente chamado [SWS_PER_00047], o qual sincroniza os pares chave-valor alterados [SWS_PER_00049]. Alterações pendentes podem ser descartadas antes da sincronização com DiscardPendingChanges [SWS_PER_00365]. Acessos de leitura como GetValue [SWS_PER_00044], [SWS_PER_00332] ou GetCurrentValueSize [SWS_PER_00554] operam igualmente sobre o estado transacional e refletem a eliminação de imediato.

No que diz respeito à concorrência, o método está especificado como seguro para threads (thread-safe) e seguro contra exceções (exception safe) [SWS_PER_00047]. Uma chamada pode ser atrasada se RemoveAllKeys, SyncToStorage ou DiscardPendingChanges forem executados em paralelo noutra thread, ou se operações como SetValue, GetValue, GetCurrentValueSize, RemoveKey, RecoverKey ou ResetKey acederem ao mesmo par chave-valor em simultâneo [SWS_PER_00047].

Se ocorrer um erro durante a execução, aplica-se uma semântica de reversão e o objeto Result retornado contém um código de erro [SWS_PER_00047]:

  • PerErrc::kKeyNotFound: a chave especificada não existe no armazenamento [SWS_PER_00047].
  • PerErrc::kIllegalWriteAccess: o Key-Value Storage está configurado como apenas de leitura (read-only) [SWS_PER_00047].
  • PerErrc::kPhysicalStorageFailure: o acesso ao suporte de armazenamento físico falhou [SWS_PER_00047].
  • PerErrc::kIntegrityCorrupted: a escrita falha devido a integridade estrutural corrompida [SWS_PER_00047].
  • PerErrc::kEncryptionFailed ou PerErrc::kAuthenticationFailed: a encriptação ou desencriptação falha, ou o cálculo/verificação do MAC está com erro [SWS_PER_00047].

Esta nota de utilização baseia-se exclusivamente nas especificações da plataforma AUTOSAR Adaptive para o Release R25-11.

Guia do implementador em breve (complexidade 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#aa389385
Content hash
aa389385
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: ddb1025237e2 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

usar

O método síncrono ResetKey repõe um par chave-valor individual numa instância de ara::per::KeyValueStorage para o seu valor inicial [SWS_PER_00426]. É transmitido como parâmetro o identificador key como ara::core::StringView [SWS_PER_00426]. Se a chave não existir atualmente no armazenamento, ela é criada de novo. Em ambos os casos, o estado da entrada corresponde subsequentemente ao de uma nova instalação a partir da Target Configuration atual [SWS_PER_00426]. A função é declarada como noexcept e devolve um ara::core::Result<void> [SWS_PER_00426].

Tratamento de erros

Se ocorrer um erro durante a execução, o objeto de resultado fornece um código de erro correspondente [SWS_PER_00426]:

  • PerErrc::kInitValueNotAvailable: Quando não está definido nenhum valor inicial para a chave nem no Application Design nem na Target Configuration (semântica de rollback) [SWS_PER_00426].
  • kIllegalWrite: Quando o Key-Value Storage está configurado como só de leitura (read-only) [SWS_PER_00426].
  • PerErrc::kPhysicalStorageFailure ou PerErrc::kOutOfStorageSpace: Em caso de erros de acesso ao armazenamento físico ou espaço de armazenamento insuficiente (sem semântica de rollback) [SWS_PER_00426].
  • PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed ou PerErrc::kQuotaExceeded: Em caso de violações de integridade, erros de criptografia e autenticação ou excesso do AllowedSize configurado (cada um com semântica de rollback) [SWS_PER_00426].

Concorrência e interação

A função é thread-safe e exception-safe [SWS_PER_00426]. No entanto, a chamada pode sofrer atrasos se operações a nível de todo o armazenamento, como RemoveAllKeys [SWS_PER_00048], SyncToStorage [SWS_PER_00049] ou DiscardPendingChanges [SWS_PER_00365], estiverem ativas em paralelo a partir de outra thread. Do mesmo modo, acessos concorrentes à mesma chave atravé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] ou um outro ResetKey levam a atrasos [SWS_PER_00426].

Esta nota de utilização foi gerada automaticamente com base na especificação do AUTOSAR Adaptive R25-11.

Guia do implementador em breve (complexidade 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#8622948f
Content hash
8622948f
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

função 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#79f01a79
Content hash
79f01a79
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

função 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.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 31e98920341c Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método síncrono SyncToStorage da classe ara::per::KeyValueStorage escreve permanentemente no armazenamento físico os pares chave-valor alterados a partir do buffer de memória [SWS_PER_00049]. Não recebe parâmetros e retorna um ara::core::Result<void>, está declarado como noexcept, bem como especificado como seguro contra exceções e thread-safe [SWS_PER_00049].

Interação e semântica transacional

Operações modificadoras como SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] e RemoveAllKeys [SWS_PER_00048] utilizam semântica transacional. As suas alterações só se tornam efetivas com a chamada de SyncToStorage [SWS_PER_00046]. Caso as modificações pendentes devam ser descartadas antes da escrita, pode ser chamado alternativamente DiscardPendingChanges [SWS_PER_00365].

simultaneidade

Embora a função seja thread-safe, a execução pode ser atrasada se estiverem ativas operações como SetValue, RemoveKey, RemoveAllKeys, DiscardPendingChanges, RecoverKey ou ResetKey em paralelo noutra thread [SWS_PER_00049].

Tratamento de erros

Se a sincronização falhar, o Result fornece um código de erro [SWS_PER_00049]:

  • Erros com semântica de reversão (as alterações são revertidas): PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed, PerErrc::kQuotaExceeded, bem como PerErrc::kIllegalWrite [SWS_PER_00049].
  • Erros sem semântica de reversão: PerErrc::kPhysicalStorageFailure em erros de acesso físico e PerErrc::kOutOfStorageSpace em caso de espaço de armazenamento insuficiente [SWS_PER_00049].
  • Erros de configuração: código de erro Access se o armazenamento estiver configurado como read-only ou, no caso de write-only-once, se a chave já existir [SWS_PER_00049].

Esta nota de utilização foi gerada automaticamente com base na especificação AUTOSAR R25-11.

Guia do implementador em breve (complexidade 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#70ceb9ac
Content hash
70ceb9ac
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

função 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#0094e85e
Content hash
0094e85e
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

função 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#eee209a2
Content hash
eee209a2
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

função ~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#bae10598
Content hash
bae10598
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