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.
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::kEncryptionFailedouPerErrc::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" |
|---|---|
| Scope | class ara::per::KeyValueStorage |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | thread-safe |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| 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
| Fehlercode | Beschreibung |
|---|---|
| PerErrc::kIllegalWriteAccess | rollback_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::kPhysicalStorageFailure | rollback_semantics Returned if access to the physical storage fails. |
| PerErrc::kIntegrityCorrupted | rollback_semantics Returned if stored data cannot be read because the structural integrity is corrupted. |
| PerErrc::kValidationFailed | rollback_semantics Returned if the validity of stored data cannot be ensured. |
| PerErrc::kEncryptionFailed | rollback_semantics Returned if the decryption of stored data fails. |
| PerErrc::kAuthenticationFailed | rollback_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
Recorded Revisions (8):
- R25-11
rel:R25-11#0793e9a52026-09-30 - R19-11
rel:R19-11#90dcd0d22026-10-14 - R20-11
rel:R20-11#306302ca2026-10-14 - R21-11
rel:R21-11#5bb9ceb52026-10-14 - R22-11
rel:R22-11#6374aaa62026-10-14 - R23-11
rel:R23-11#7a4bc2902026-10-14 - R24-11
rel:R24-11#fd18fb832026-10-14 - R25-11
rel:R25-11#f34962122026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Original em alemão