functie 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.
Gebruik en semantiek
De synchrone elementfunctie DiscardPendingChanges van de klasse ara::per::KeyValueStorage ([SWS_PER_00365]) wordt beschikbaar gesteld via de header ara/per/key_value_storage.h. Zij neemt geen parameters aan en levert een ara::core::Result<void> op. Haar doel is het verwerpen van alle openstaande wijzigingen aan de Key-Value-Storage-instantie die sinds de laatste aanroep van SyncToStorage of sinds het openen via OpenKeyValueStorage() zijn ontstaan [SWS_PER_00365].
Interactie en transactiegedrag
Schrijfbewerkingen zoals SetValue [SWS_PER_00046], RemoveKey [SWS_PER_00047] en RemoveAllKeys [SWS_PER_00048] zijn onderworpen aan transactiesemantiek. De wijzigingen daarvan worden pas door de aanroep van SyncToStorage permanent naar het fysieke opslagmedium geschreven [SWS_PER_00049]. Door DiscardPendingChanges worden deze niet-bewaarde modificaties teruggedraaid, zodat ook opvragingen via GetCurrentValueSize weer de eerdere transactionele begintoestand weerspiegelen [SWS_PER_00554].
Foutafhandeling en gelijktijdigheid
In geval van een fout bevat het resultaat een fabrikantspecifieke fout of een foutcode uit PerErrc met gedefinieerde rollback-semantiek [SWS_PER_00365]:
PerErrc::kIllegalWriteAccess: wanneer de storage schrijfbeveiligd is of bij een write-only-once-configuratie de sleutel reeds bestaat.PerErrc::kPhysicalStorageFailure: wanneer de toegang tot het fysieke opslagmedium mislukt.PerErrc::kIntegrityCorrupted,PerErrc::kValidationFailed,PerErrc::kEncryptionFailedofPerErrc::kAuthenticationFailed: bij integriteitsverlies, validatiefouten, ontsleutelingsfouten of een mislukte MAC-controle.
De methode is gedeclareerd als noexcept, exceptieveilig (exception safe) en thread-veilig (thread-safe) [SWS_PER_00365]. De uitvoering kan echter worden vertraagd als er parallel in andere threads aanroepen van SyncToStorage, SetValue, RemoveKey, RemoveAllKeys, ResetKey of RecoverKey actief zijn [SWS_PER_00365] [SWS_PER_00426] [SWS_PER_00427].
Deze tekst is gegenereerd door een AI en gecureerd aan de hand van de AUTOSAR-specificatie.
Implementer's Guide volgt (complexiteit 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#d5db4802- Content hash
d5db4802- 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 · Duits origineel