DEENESPTFRRUARHIKOZHNL

classe ara::per::WriteAccessor

[SWS_PER_00595] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00146

class WriteAccessor final :              public virtual FileAccessor {...};

WriteAccessor is used to write file data. It provides the WriteBinary and WriteText methods featuring a Result for controlled, unformatted writing, and the operator<< method for simple formatted writing. It also provides SyncToFile() to flush the buffer of the operating system to the physical storage.

Header-Datei#include "ara/per/write_accessor.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per
Basisklasse(n)FileAccessor

Guide utilisateurGÉNÉRÉ PAR IA

Sert à l'écriture mise en mémoire tampon de fichiers binaires et texte ainsi qu'à leur synchronisation sur la mémoire physique.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : fd57dd10b948 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à l'écriture mise en mémoire tampon de fichiers binaires et texte ainsi qu'à leur synchronisation sur la mémoire physique.

La classe ara::per::WriteAccessor permet l'écriture de contenus de fichiers binaires ou textuels dans le module de persistance et fournit des méthodes pour des accès en écriture non formatés ainsi qu'un opérateur de flux formaté [SWS_PER_00423]. Comme les opérations d'écriture peuvent dans un premier temps être mises en mémoire tampon dans le système d'exploitation, l'appel de SyncToFile() force le vidage permanent (flush) sur la mémoire physique [SWS_PER_00122]. Toutes les méthodes sont sûres du point de vue des exceptions (exception safe), mais ne sont pas sûres au niveau des threads (not thread-safe), raison pour laquelle les accès concurrents doivent être protégés par l'application.

Contexte

ara::per::WriteAccessor est une classe finale du module de persistance (per) de l'AUTOSAR Adaptive Platform et dérive virtuellement de FileAccessor. La classe fournit des opérations d'écriture pour les contenus de fichiers. Elle propose des méthodes pour une écriture non formatée et contrôlée avec traitement des erreurs via ara::core::Result ainsi qu'un opérateur de flux surchargé pour l'écriture formatée. Les partenaires d'interaction sont l'application appelante, le tampon de fichiers interne du système d'exploitation ainsi que le support de stockage physique.

Cycle de vie

Le constructeur par défaut de WriteAccessor est explicitement supprimé et ne doit pas être utilisé [SWS_PER_00596]. (Interprétation : les instances de WriteAccessor devraient être créées et mises à disposition via des méthodes fabriques d'unités de gestion de persistance de niveau supérieur telles que le File-Storage.) Question Q-af92be8494274611 (ouverte)

La destruction s'effectue via le destructeur virtuel ~WriteAccessor() [SWS_PER_00597]. La classe et ses méthodes sont spécifiées comme sûres du point de vue des exceptions (« exception safe ») et déclarées comme noexcept. Concernant la concurrence, WriteAccessor n'est pas sûre au niveau des threads (« not thread-safe ») [SWS_PER_00597] ; les accès parallèles à la même instance doivent être sécurisés de manière externe par l'application.

Parcours d'utilisation

Le déroulement régulier comprend l'écriture de données en mode non formaté ou formaté, l'adaptation optionnelle de la taille du fichier et le stockage persistant final :

  • Écrire des données binaires : via WriteBinary(), une plage d'octets (ara::core::Span<const ara::core::Byte>) est écrite dans le fichier [SWS_PER_00423].
  • Écrire des données textuelles : au moyen de WriteText(), des chaînes de caractères sont transmises via un ara::core::StringView [SWS_PER_00166]. En complément, operator<< est disponible comme fonction de commodité pour les cas d'utilisation non critiques, les erreurs survenues étant alors silencieusement ignorées [SWS_PER_00125].
  • Forcer la persistance : le moment du stockage physique dépend de l'implémentation de la persistance ; SyncToFile() vide de manière contraignante le tampon du système d'exploitation sur le support de stockage [SWS_PER_00122], [SWS_PER_00423], [SWS_PER_00166].
  • Ajuster la taille du fichier : SetFileSize() permet de tronquer le fichier, ce qui supprime les contenus excédentaires ; la position dans le fichier reste inchangée ou est fixée à la dernière position valide, respectivement à 0 [SWS_PER_00428].
Déroulement typique lors de l'écriture et de la synchronisation de contenus de fichiersApplicationWriteAccessorSpeichermediumWriteBinary(b) / WriteText(s)ara::core::Result<void>SyncToFile()Betriebssystem-Puffer flashenStatut / Confirmationara::core::Result<void>

Diagramme de séquence : opérations d'écriture suivies d'une synchronisation sur la mémoire physique. Sources : [SWS_PER_00423], [SWS_PER_00166], [SWS_PER_00122]

Scénarios d'erreur

Les méthodes WriteBinary(), WriteText(), SyncToFile() et SetFileSize() renvoient un ara::core::Result<void> qui contient des codes d'erreur spécifiques en cas d'échec :

Ce guide a été généré par une IA sur la base de la spécification AUTOSAR R25-11.

Carte des membres

Diagramme de classes

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

G nara__per__WriteAccessor940 WriteAccessor + WriteAccessor() + ~WriteAccessor() + SetFileSize() + SyncToFile() + WriteBinary() + WriteText() + operator<<() nara__per__FileAccessor932 FileAccessor nara__per__WriteAccessor940->nara__per__FileAccessor932 nara__per__ReadWriteAccessor483 ReadWriteAccessor nara__per__ReadWriteAccessor483->nara__per__WriteAccessor940

Vue détaillée

Sélectionnez une entrée dans le plan.

Constructeurs et destructeur

WriteAccessor fonction

The default constructor for WriteAccessor shall not be used.

WriteAccessor ()=delete;

Destructor for WriteAccessor.

~WriteAccessor () override noexcept;

Méthodes

SetFileSize fonction

Reduces the size of the file to ’size’, effectively removing the current content of the file beyond this size. The current file position is unchanged if it is lower than ’size’, or set to the last valid position in the file otherwise. If ’size’ is 0, the current file position will also be set to 0.

ara::core::Result< void > SetFileSize (std::uint64_t size) noexcept;
SyncToFile fonction

Flushes the current file content to the physical storage.

ara::core::Result< void > SyncToFile () noexcept;
WriteBinary fonction

Writes the content of a Span of Byte to the file. The time when the content is persisted depends on the implementation of Persistency. SyncTo File can be used to force Persistency to persist the file content. In case of an error, the file content might be corrupted, and the current position might or might not have changed. The expected state of the file for each supported error can be expected to be as follows: • kPhysicalStorageFailure: The state of the file is unknown. It could have been entirely destroyed. • kEncryptionFailed: The content of the file and the current position will have been updated, but could not be persisted. The persisted file will reflect an older version of the file. • kOutOfStorageSpace: The content of the file will have been updated, but the part of the operation that exceeded the quota will have been discarded. The current position will be at the end of the file.

ara::core::Result< void > WriteBinary (ara::core::Span< const ara::core::Byte > b) noexcept;
WriteText fonction

Writes the content of a StringView to the file. The time when the content is persisted depends on the implementation of Persistency. SyncTo File can be used to force Persistency to persist the file content. In case of an error, the file content might be corrupted, and the current position might or might not have changed. The expected state of the file for each supported error can be expected to be as follows: • kPhysicalStorageFailure: The state of the file is unknown. It could have been entirely destroyed. • kEncryptionFailed: The content of the file and the current position will have been updated, but could not be persisted. The persisted file will reflect an older version of the file. • kOutOfStorageSpace: The content of the file will have been updated, but the part of the operation that exceeded the quota will have been discarded. The current position will be at the end of the file.

ara::core::Result< void > WriteText (ara::core::StringView s) noexcept;

Opérateurs

operator<< fonction

Writes the content of a StringView to the file. This operator is just a comfort feature for non-safety critical Persistency users. If an error occurs during this operation, it is silently ignored.

WriteAccessor & operator<< (ara::core::StringView s) noexcept;

Documentation des méthodes

fonction SetFileSize [SWS_PER_00428] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00128, RS_AP_00127, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > SetFileSize (std::uint64_t size) noexcept;

Reduces the size of the file to ’size’, effectively removing the current content of the file beyond this size. The current file position is unchanged if it is lower than ’size’, or set to the last valid position in the file otherwise. If ’size’ is 0, the current file position will also be set to 0.

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe PerErrc::kPhysical no_rollback_semantics

Parameter (in)

ParameterBeschreibung
sizeNew size of the file.

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
StorageFailureReturned if access to the physical storage fails.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
PerErrc::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kInvalidSizerollback_semantics Returned if the new size is larger than the current size.
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_00428
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00428@rel:R25-11#9b09c39d
Content hash
9b09c39d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00428
Status: valid/unmigrated Version: rel:R25-11#ec5f6be0 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_00428@rel:R25-11#ec5f6be0
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d8a624272026-09-30
  • R20-11rel:R20-11#695302e62026-10-14
  • R21-11rel:R21-11#aae1c4ab2026-10-14
  • R22-11rel:R22-11#3b63355b2026-10-14
  • R23-11rel:R23-11#4766ec6f2026-10-14
  • R24-11rel:R24-11#e7961eae2026-10-14
  • R25-11rel:R25-11#ec5f6be02026-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

fonction SyncToFile [SWS_PER_00122] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00128, RS_AP_00127, RS_AP_00129, RS_AP_00135, RS_AP_00139, RS_AP_00159

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

Flushes the current file content to the physical storage.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : c625990570f3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction membre SyncToFile de la classe ara::per::WriteAccessor (définie dans #include "ara/per/write_accessor.h") transfère le contenu actuel du fichier de manière synchrone sur la mémoire physique [SWS_PER_00122]. L'appel n'accepte aucun paramètre de transmission et renvoie un ara::core::Result<void> qui est vide en cas de succès ou qui contient en cas d'erreur des codes d'erreur spécifiques du module Persistency ou des erreurs spécifiques au constructeur [SWS_PER_00122].

Lors de l'exécution, différents cas d'erreur peuvent survenir, dont certains possèdent une sémantique de retour arrière (rollback) [SWS_PER_00122] :

  • StorageFailure : survient lorsque l'accès physique au support de stockage échoue (pas de sémantique de retour arrière) [SWS_PER_00122].
  • PerErrc::kOutOfStorageSpace : est renvoyé si l'espace de stockage physique est insuffisant pour le fichier modifié (pas de sémantique de retour arrière) [SWS_PER_00122].
  • PerErrc::kQuotaExceeded : est signalé lorsque le fichier dépasse la taille maximale configurée AllowedSize du File Storage (avec sémantique de retour arrière) [SWS_PER_00122].
  • PerErrc::kEncryptionFailed : en cas d'échec du chiffrement des données stockées (avec sémantique de retour arrière) [SWS_PER_00122].
  • PerErrc::kAuthenticationFailed : en cas d'échec du calcul du MAC pour les données (avec sémantique de retour arrière) [SWS_PER_00122].

Concernant la sécurité d'exécution, la méthode est déclarée comme noexcept et spécifiée comme exception safe [SWS_PER_00122]. Cependant, étant donné qu'elle est expressément classifiée comme not thread-safe, les appels simultanés sur la même instance de WriteAccessor doivent vraisemblablement être synchronisés par l'appelant [SWS_PER_00122]. Question Q-e4b139f136cdcd31 (ouverte)

Cette note d'utilisation a été générée automatiquement sur la base de la spécification AUTOSAR R25-11.

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe PerErrc::kPhysical no_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
StorageFailureReturned if access to the physical storage fails.
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 changed file.
PerErrc::kQuotaExceededrollback_semantics Returned if the changed file would exceed the configured maximum AllowedSize of the File 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_00122
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00122@rel:R25-11#5ba3a529
Content hash
5ba3a529
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00122
Status: valid/unmigrated Version: rel:R25-11#3cd97c20 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_00122@rel:R25-11#3cd97c20
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#34b017482026-09-30
  • R19-11rel:R19-11#eb696f922026-10-14
  • R20-11rel:R20-11#a1c7cb002026-10-14
  • R21-11rel:R21-11#02cbbcfc2026-10-14
  • R22-11rel:R22-11#e11db5d22026-10-14
  • R23-11rel:R23-11#90ba1ab02026-10-14
  • R24-11rel:R24-11#3320747f2026-10-14
  • R25-11rel:R25-11#3cd97c202026-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

fonction WriteAccessor [SWS_PER_00596] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00146

WriteAccessor ()=delete;

The default constructor for WriteAccessor shall not be used.

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor

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

Record
AUTOSAR/AP/record/SWS_PER_00596
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00596@rel:R25-11#d2029a56
Content hash
d2029a56
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00596
Status: valid/unmigrated Version: rel:R25-11#e4de44c4 Versionshistorie & Revisions (1 transition)
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_00596@rel:R25-11#e4de44c4
Point-in-Time History:
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

fonction WriteBinary [SWS_PER_00423] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00139, RS_AP_00159

ara::core::Result< void > WriteBinary (ara::core::Span< const ara::core::Byte > b) noexcept;

Writes the content of a Span of Byte to the file. The time when the content is persisted depends on the implementation of Persistency. SyncTo File can be used to force Persistency to persist the file content. In case of an error, the file content might be corrupted, and the current position might or might not have changed. The expected state of the file for each supported error can be expected to be as follows: • kPhysicalStorageFailure: The state of the file is unknown. It could have been entirely destroyed. • kEncryptionFailed: The content of the file and the current position will have been updated, but could not be persisted. The persisted file will reflect an older version of the file. • kOutOfStorageSpace: The content of the file will have been updated, but the part of the operation that exceeded the quota will have been discarded. The current position will be at the end of the file.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : 65db1acb87c9 Provenance
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

La fonction WriteBinary de la classe ara::per::WriteAccessor écrit le contenu d'une séquence d'octets (ara::core::Span<const ara::core::Byte>) dans un fichier [SWS_PER_00423]. L'instant de la persistance effective sur le support de stockage dépend de l'implémentation de Persistency ; via SyncToFile, la persistance synchrone peut être forcée [SWS_PER_00423]. La fonction est déclarée comme noexcept et est considérée comme sûre face aux exceptions [SWS_PER_00423].

En matière de concurrence, WriteBinary est spécifiée comme non sûre pour les threads (not thread-safe) [SWS_PER_00423]. Les accès parallèles au même accesseur doivent être synchronisés au niveau de l'application.

En cas d'erreur, un code d'erreur est renvoyé dans ara::core::Result<void>, le contenu du fichier pouvant être corrompu et la position actuelle pouvant avoir changé [SWS_PER_00423] :

  • PerErrc::kPhysicalStorageFailure : l'état du fichier est inconnu et peut être totalement détruit (pas de sémantique de retour arrière) [SWS_PER_00423].
  • PerErrc::kOutOfStorageSpace : mémoire physique insuffisante ; les données dépassant le quota sont rejetées et la position du fichier se trouve à la fin [SWS_PER_00423].
  • PerErrc::kQuotaExceeded : l'opération d'écriture dépasserait la taille maximale configurée AllowedSize [SWS_PER_00423].
  • PerErrc::kEncryptionFailed : le chiffrement échoue ; le contenu et la position du fichier sont mis à jour mais non persistés (le fichier persisté conserve la version précédente) [SWS_PER_00423].
  • PerErrc::kAuthenticationFailed ou PerErrc::kValidationFailed : le calcul/la vérification du MAC échoue ou la validité des données stockées n'est pas garantie [SWS_PER_00423].

Cette note d'utilisation a été générée automatiquement sur la base de l'élément de spécification [SWS_PER_00423].

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe PerErrc::kPhysical no_rollback_semantics

Parameter (in)

ParameterBeschreibung
bA Span of Byte containing the bytes to be written.

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
StorageFailureReturned if access to the physical storage fails.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
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 changed file.
PerErrc::kQuotaExceededrollback_semantics Returned if the changed file would exceed the configured maximum AllowedSize of the File 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_00423
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00423@rel:R25-11#d7775739
Content hash
d7775739
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00423
Status: valid/unmigrated Version: rel:R25-11#6fdad6e9 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_00423@rel:R25-11#6fdad6e9
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#998ae4662026-09-30
  • R20-11rel:R20-11#e69bb1c32026-10-14
  • R21-11rel:R21-11#cbf9c5262026-10-14
  • R22-11rel:R22-11#1ed9b43a2026-10-14
  • R23-11rel:R23-11#a70520942026-10-14
  • R24-11rel:R24-11#7f59ce5a2026-10-14
  • R25-11rel:R25-11#6fdad6e92026-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

fonction WriteText [SWS_PER_00166] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121, RS_AP_00127, RS_AP_00135, RS_AP_00136, RS_AP_00139, RS_AP_00159

ara::core::Result< void > WriteText (ara::core::StringView s) noexcept;

Writes the content of a StringView to the file. The time when the content is persisted depends on the implementation of Persistency. SyncTo File can be used to force Persistency to persist the file content. In case of an error, the file content might be corrupted, and the current position might or might not have changed. The expected state of the file for each supported error can be expected to be as follows: • kPhysicalStorageFailure: The state of the file is unknown. It could have been entirely destroyed. • kEncryptionFailed: The content of the file and the current position will have been updated, but could not be persisted. The persisted file will reflect an older version of the file. • kOutOfStorageSpace: The content of the file will have been updated, but the part of the operation that exceeded the quota will have been discarded. The current position will be at the end of the file.

GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : f24ce7c436f3 Provenance Questions ouvertes (1)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Utilisation

La méthode synchrone WriteText de l'interface ara::per::WriteAccessor écrit le contenu d'une ara::core::StringView dans le fichier ouvert [SWS_PER_00166]. La fonction est spécifiée comme sûre face aux exceptions (exception safe) et ne déclare aucune levée d'exceptions C++ (noexcept) [SWS_PER_00166]. L'instant exact du stockage physique dépend de l'implémentation de Persistency ; une sauvegarde immédiate sur le support de stockage peut être forcée via SyncToFile [SWS_PER_00166].

Gestion des erreurs

Un ara::core::Result<void> sert de valeur de retour, lequel signale en cas d'erreur des codes d'erreur issus de PerErrc ou des erreurs spécifiques au constructeur [SWS_PER_00166]. Si l'opération échoue, le contenu du fichier peut être corrompu et la position d'écriture avoir été modifiée [SWS_PER_00166] :

  • PerErrc::kPhysicalStorageFailure : échec de l'accès à la mémoire physique ; l'état du fichier est inconnu ou le fichier est détruit [SWS_PER_00166].
  • PerErrc::kEncryptionFailed : le chiffrement échoue ; le contenu du fichier et la position en mémoire sont mis à jour mais ne peuvent pas être persistés, ce qui laisse subsister une version persistée antérieure [SWS_PER_00166].
  • PerErrc::kOutOfStorageSpace : espace de stockage physique insuffisant ; les données dépassant le quota sont rejetées et la position se trouve à la fin du fichier [SWS_PER_00166].
  • PerErrc::kQuotaExceeded, PerErrc::kValidationFailed et PerErrc::kAuthenticationFailed : signalent des dépassements de quota (AllowedSize) ainsi que des erreurs de validation ou d'authentification tout en préservant la sémantique de retour arrière [SWS_PER_00166].

Concurrence et restrictions

L'opération est classifiée comme non sûre pour les threads (not thread-safe) [SWS_PER_00166]. En cas d'accès parallèles à la même instance de WriteAccessor, les appelants doivent vraisemblablement synchroniser les appels de manière autonome. Question Q-73a6dbdb7d3df643 (ouverte)

Cette note d'utilisation est basée sur la spécification AUTOSAR Adaptive Platform R25-11.

Guide de l'implémenteur à venir (complexité I1)

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe PerErrc::kPhysical no_rollback_semantics

Parameter (in)

ParameterBeschreibung
sA StringView containing the characters to be written.

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
StorageFailureReturned if access to the physical storage fails.
PerErrc::kValidationFailedrollback_semantics Returned if the validity of stored data cannot be ensured.
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 changed file.
PerErrc::kQuotaExceededrollback_semantics Returned if the changed file would exceed the configured maximum AllowedSize of the File 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_00166
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00166@rel:R25-11#30d0e91f
Content hash
30d0e91f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00166
Status: valid/unmigrated Version: rel:R25-11#4e3c0698 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_00166@rel:R25-11#4e3c0698
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d1e8d7c42026-09-30
  • R19-11rel:R19-11#b4195f8c2026-10-14
  • R20-11rel:R20-11#c28d17da2026-10-14
  • R21-11rel:R21-11#18edcb3e2026-10-14
  • R22-11rel:R22-11#c7bb41a02026-10-14
  • R23-11rel:R23-11#e3cd60ee2026-10-14
  • R24-11rel:R24-11#604776402026-10-14
  • R25-11rel:R25-11#4e3c06982026-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

fonction operator<< [SWS_PER_00125] Upstream: RS_PER_00001, RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_ AP_00121, RS_AP_00127, RS_AP_00159

WriteAccessor & operator<< (ara::core::StringView s) noexcept;

Writes the content of a StringView to the file. This operator is just a comfort feature for non-safety critical Persistency users. If an error occurs during this operation, it is silently ignored.

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

Parameter (in)

ParameterBeschreibung
sThe StringView containing the characters to be written.

Rückgabewert

TypBeschreibung
WriteAccessor &The WriteAccessor object.

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

Record
AUTOSAR/AP/record/SWS_PER_00125
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00125@rel:R25-11#2e896da8
Content hash
2e896da8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00125
Status: valid/unmigrated Version: rel:R25-11#916de40e 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_00125@rel:R25-11#916de40e
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#8b2877cf2026-09-30
  • R19-11rel:R19-11#400a0ec52026-10-14
  • R20-11rel:R20-11#fe7ae1572026-10-14
  • R21-11rel:R21-11#fe7ae1572026-10-14
  • R22-11rel:R22-11#7a940c0b2026-10-14
  • R23-11rel:R23-11#01a269a42026-10-14
  • R24-11rel:R24-11#d4351b602026-10-14
  • R25-11rel:R25-11#916de40e2026-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

fonction ~WriteAccessor [SWS_PER_00597] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00134, RS_AP_00145, RS_AP_00159

~WriteAccessor () override noexcept;

Destructor for WriteAccessor.

Header-Datei#include "ara/per/write_accessor.h"
Scopeclass ara::per::WriteAccessor
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_00597
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00597@rel:R25-11#c3318586
Content hash
c3318586
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00597
Status: valid/unmigrated Version: rel:R25-11#0c1fc20b Versionshistorie & Revisions (1 transition)
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_00597@rel:R25-11#0c1fc20b
Point-in-Time History:
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