DEENESPTFRRUARHIKOZHNL

class ara::per::FileStorage

[SWS_PER_00340] Upstream: RS_PER_00004, RS_AP_00122, RS_AP_00140, RS_AP_00146

class FileStorage final {...};

The File Storage contains a set of files identified by their file names.

Header-Datei#include "ara/per/file_storage.h"
Forwarding-Header#include "ara/per/per_fwd.h"
Scopenamespace ara::per

User GuideKI-GENERIERT

Verwaltet persistente Dateien und öffnet sie über RAII-basierte Handles für blockweises Lesen und Schreiben.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 7736cf7ccbd1 Herkunft Offene Fragen (2)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwaltet persistente Dateien und öffnet sie über RAII-basierte Handles für blockweises Lesen und Schreiben.

Die Klasse ara::per::FileStorage ermöglicht das Verwalten und Öffnen einer Menge konfigurierter persistenter Dateien über eindeutige Dateinamen [SWS_PER_00110]. Der eigentliche Lese- und Schreibzugriff erfolgt über UniqueHandle-geführte Accessoren, welche die Datei beim Verlassen des Gültigkeitsbereichs automatisch wieder schließen [SWS_PER_00114]. Da bereits geöffnete Dateien vor konkurrierenden Lösch- oder Wiederherstellungsoperationen geschützt sind, schlagen solche Parallelzugriffe mit PerErrc::kResourceBusy fehl [SWS_PER_00111].

Kontext

Die Klasse ara::per::FileStorage kapselt den Zugriff auf eine konfigurierte Sammlung persistenter Dateien, die über eindeutige Dateinamen identifiziert werden. Sie fungiert als zentrale Schnittstelle für Anwendungen, um Dateioperationen wie das Auflisten vorhandener Dateien über GetAllFileNames [SWS_PER_00110], die Prüfung auf Existenz mittels FileExists [SWS_PER_00112] sowie das Abfragen von Metadaten und Dateigrößen über GetFileInfo [SWS_PER_00438] und GetCurrentFileSize [SWS_PER_00407] durchzuführen. Ein direkter Lese- oder Schreibzugriff auf Byte-Ebene erfolgt dabei nicht auf der Speicherinstanz selbst, sondern vermittelt über spezielle Accessor-Objekte, die von den Öffnungsmethoden als UniqueHandle bereitgestellt werden [SWS_PER_00114] [SWS_PER_00113] [SWS_PER_00115].

Lebenszyklus

Die Instanziierung von FileStorage unterliegt strengen Beschränkungen: Sowohl der Standardkonstruktor [SWS_PER_00460] als auch Kopier- und Verschiebekonstruktoren [SWS_PER_00328] [SWS_PER_00326] sowie Kopier- und Verschiebezuweisungsoperatoren [SWS_PER_00329] [SWS_PER_00327] sind explizit gelöscht. Eine Instanz von FileStorage dürfte daher typischerweise über plattformseitige Fabrikfunktionen des Persistenzmoduls geöffnet und bereitgestellt werden. Frage (offen) Der Destruktor ~FileStorage ist ausnahmesicher (noexcept), jedoch explizit als nicht threadsicher spezifiziert [SWS_PER_00330], weshalb sichergestellt sein muss, dass während der Zerstörung keine nebenläufigen Aufrufe auf dem Objekt stattfinden.

Im laufenden Betrieb sind die regulären Dateioperationen wie FileExists, DeleteFile oder das Öffnen von Dateien threadsicher ausgelegt [SWS_PER_00111] [SWS_PER_00112] [SWS_PER_00114]. Allerdings ist zu beachten, dass Ergebnisse von Statusabfragen wie GetAllFileNames [SWS_PER_00110] oder FileExists [SWS_PER_00112] nur dann präzise Gültigkeit besitzen, wenn nicht zeitgleich in einem anderen Thread Dateien hinzugefügt oder gelöscht werden. Ähnliches gilt für GetFileInfo: Modifikations- und Zugriffszeiten sowie der Bearbeitungsstatus sind nur verlässlich akkurat, solange die Zieldatei nicht geöffnet ist [SWS_PER_00438].

Nutzungspfad

Ein typischer Nutzungspfad umfasst die Prüfung, das gezielte Öffnen, die Datenverarbeitung über das Accessor-Handle und die abschließende Bereinigung:

  1. Dateistatus prüfen: Vor dem Zugriff kann optional über FileExists ermittelt werden, ob eine gewünschte Datei vorhanden ist [SWS_PER_00112], oder über GetAllFileNames der Bestand abgefragt werden [SWS_PER_00110].
  2. Datei öffnen: Je nach beabsichtigtem Zugriffsmodus stellt die Klasse dedizierte Methoden bereit. Für reinen Lesezugriff stehen OpenFileReadOnly-Überladungen zur Verfügung [SWS_PER_00114] [SWS_PER_00376] [SWS_PER_00430]. Für Lese- und Schreibzugriff dient OpenFileReadWrite [SWS_PER_00113] [SWS_PER_00375] [SWS_PER_00429], wobei eine nicht existierende Datei automatisch neu angelegt wird. Für reines Schreiben existiert OpenFileWriteOnly [SWS_PER_00115] [SWS_PER_00377] [SWS_PER_00431], welches die Datei standardmäßig abschneidet (kTruncate) oder neu erzeugt. Zur Leistungssteigerung bei vielen kleinen Zugriffen erlauben Überladungen die Übergabe eines anwenderdefinierten Puffers für blockweises Lesen bzw. Schreiben [SWS_PER_00430] [SWS_PER_00429] [SWS_PER_00431].
  3. Datei schließen und Ressourcen freigeben: Das von den Öffnungsmethoden zurückgegebene ara::core::Result kapselt ein UniqueHandle auf den jeweiligen Accessor. Die Datei wird automatisch geschlossen, sobald dieses UniqueHandle seinen Gültigkeitsbereich verlässt [SWS_PER_00114] [SWS_PER_00113] [SWS_PER_00115]. Vermutlich wird hierbei auch die dateibezogene Belegungsmarkierung in FileStorage aufgehoben. Frage (offen)
  4. Wartung und Bereinigung: Nicht mehr benötigte Dateien werden mit DeleteFile gelöscht [SWS_PER_00111]. Bei Integritätsverletzungen bietet RecoverFile eine Best-Effort-Wiederherstellung redundanter Daten [SWS_PER_00337], während ResetFile eine Datei auf ihren initialen Bereitstellungsinhalt zurücksetzt oder bei Fehlen neu anlegt [SWS_PER_00338].
Typischer Nutzungspfad für FileStorageAnwendungstorage: FileStoragehandle: UniqueHandleUse Case: 1. VorprüfungFileExists(fileName)Result<bool> (true)Use Case: 2. Datei öffnenOpenFileReadOnly(fileName, mode, buffer)Result<UniqueHandle<ReadAccessor>>Use Case: 3. Dateiinhalt lesenBlockweises Lesen über AccessorGelesene Byte-DatenUse Case: 4. Schließen bei GültigkeitsendeUniqueHandle verlässt GültigkeitsbereichDestruktor schließt DateiUse Case: 5. BereinigungDeleteFile(fileName)Result<void>

Sequenzdiagramm: Typischer Ablauf vom Prüfen und Öffnen einer Datei über die Pufferverarbeitung bis zum automatischen Schließen durch den Gültigkeitsbereich des Handles. Quellen: [SWS_PER_00112], [SWS_PER_00430], [SWS_PER_00114], [SWS_PER_00111].

Fehlerszenarien

Methoden von FileStorage signalisieren Fehler über ara::core::Result unter Verwendung des Fehler-Enums PerErrc. Zu den wichtigsten Fehlersituationen zählen:

  • Ressourcenkonflikte (PerErrc::kResourceBusy): Eine Datei kann nicht geöffnet, gelöscht, wiederhergestellt oder zurückgesetzt werden, wenn sie bereits geöffnet ist oder parallel ein DeleteFile, RecoverFile bzw. ResetFile auf demselben Dateinamen ausgeführt wird [SWS_PER_00111] [SWS_PER_00114] [SWS_PER_00113] [SWS_PER_00337] [SWS_PER_00338].
  • Nicht gefundene Dateien (PerErrc::kFileNotFound): Tritt auf, wenn eine nicht vorhandene Datei zum reinen Lesen geöffnet [SWS_PER_00114], gelöscht [SWS_PER_00111], abgefragt [SWS_PER_00407] [SWS_PER_00438] oder wiederhergestellt [SWS_PER_00337] werden soll.
  • Zugriffs- und Berechtigungsverletzungen: Schreibende Öffnungen oder Löschvorgänge scheitern mit PerErrc::kIllegalWriteAccess, falls der Speicher als schreibgeschützt (read-only) konfiguriert ist [SWS_PER_00111] [SWS_PER_00113] [SWS_PER_00115]. Ungültige Modus-Kombinationen werden mit PerErrc::kInvalidOpenMode abgewiesen [SWS_PER_00114] [SWS_PER_00113].
  • Speichergrenzen und Kontingente: Bei Neuanlage oder Vergrößerung können PerErrc::kOutOfStorageSpace (physischer Speicher voll), PerErrc::kTooManyFiles (Übersteigung von maxNumberOfFiles) oder PerErrc::kQuotaExceeded (Überschreitung von maximumAllowedSize) auftreten [SWS_PER_00113] [SWS_PER_00337] [SWS_PER_00338].
  • Integritäts- und Sicherheitsfehler: Bei Ausfällen der physischen Speicherschicht wird PerErrc::kPhysicalStorageFailure gemeldet. Beschädigte Datenstrukturen, fehlgeschlagene Validierungen oder Kryptografieprobleme resultieren in PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed [SWS_PER_00110] [SWS_PER_00112] [SWS_PER_00114] [SWS_PER_00337].
  • Fehlende Initialdaten (PerErrc::kInitValueNotAvailable): Scheitert beim Zurücksetzen via ResetFile, wenn weder im Application Design noch in der Zielkonfiguration Initialwerte hinterlegt wurden [SWS_PER_00338].

Dieser Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform Release R25-11 und fasst die funktionalen Anforderungen an ara::per::FileStorage zusammen.

Mitgliederkarte

Klassendiagramm

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

G nara__per__FileStorage945 FileStorage + FileStorage() + operator=() + ~FileStorage() + DeleteFile() + FileExists() + GetAllFileNames() + GetCurrentFileSize() + GetFileInfo() + OpenFileReadOnly() + OpenFileReadWrite() + OpenFileWriteOnly() + RecoverFile() + ResetFile()

Detailansicht

Wähle in der Gliederung einen Eintrag aus.

Konstruktoren und Destruktor

FileStorage function 3

The move constructor for FileStorage shall not be used.

Überladungen FileStorage 3
FileStorage (FileStorage &&fs)=delete; SWS_PER_00326
FileStorage (const FileStorage &)=delete; SWS_PER_00328
FileStorage ()=delete; SWS_PER_00460
~FileStorage function

Destructor for FileStorage.

~FileStorage () noexcept;

Methoden

DeleteFile function

Deletes a file from this File Storage. This operation will fail with kResourceBusy when the file is currently open.

ara::core::Result< void > DeleteFile (ara::core::StringView fileName) noexcept;
FileExists function

Checks if a file exists in this File Storage. The result is only accurate if no file is added or deleted at the same time. E.g. when a file is removed in another thread directly after this function returned "true", the result is not valid anymore.

ara::core::Result< bool > FileExists (ara::core::StringView fileName) const noexcept;

Returns a list of all currently available file names of this File Storage. The list of file names is only accurate if no file is added or deleted at the same time.

ara::core::Result< ara::core::Vector< ara::core::String > > GetAllFile Names () const noexcept;

Returns the space in bytes currently occupied by the content of a file of this File Storage. The returned size might be inaccurate if any of the instances of a file is invalid or if another operation on the file takes place at the same time.

ara::core::Result< std::uint64_t > GetCurrentFileSize (ara::core::StringView fileName) const noexcept;
GetFileInfo function

Returns additional information on a file of this File Storage. The returned FileInfo struct contains information about the times when the file was created, last modified, and last accessed, and about how and by whom the file was created and last modified. The modificationTime, accessTime, and fileModificationState returned in the FileInfo are only accurate if the file is currently not open.

ara::core::Result< FileInfo > GetFileInfo (ara::core::StringView file Name) const noexcept;
OpenFileReadOnly function 3

Opens a file of this File Storage for reading with a defined mode. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). The file will be closed when the returned UniqueHandle goes out of scope.

Überladungen OpenFileReadOnly 3

Opens a file of this File Storage for reading and writing with a defined mode. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

Überladungen OpenFileReadWrite 3

Opens a file of this File Storage for writing with a defined mode. If not otherwise specified by the provided mode, the file is truncated (corresponding to k Truncate). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

Überladungen OpenFileWriteOnly 3
RecoverFile function

Recovers a file of this File Storage. This method allows to recover a single file when the redundancy checks fail. It will fail with kResourceBusy when the file is currently open. This method does a best-effort recovery of the file. After recovery, the file might show outdated or initial content, or might be lost.

ara::core::Result< void > RecoverFile (ara::core::StringView fileName) noexcept;
ResetFile function

Resets a file of this File Storage to its initial content. ResetFile allows to reset a single file to its initial content. If the file is currently not available in the File Storage, it is re-created. Afterwards, the file will appear in both cases as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the file is currently open, and with kInitValueNotAvailable when neither Application Design nor Target Configuration define an initial content for the file.

ara::core::Result< void > ResetFile (ara::core::StringView fileName) noexcept;

Operatoren

operator= function 2

The move assignment operator for FileStorage shall not be used.

Überladungen = 2
FileStorage & operator= (FileStorage &&fs)=delete; SWS_PER_00327
FileStorage & operator= (const FileStorage &)=delete; SWS_PER_00329

Dokumentation der Methoden

function DeleteFile [SWS_PER_00111] Upstream: RS_PER_00001, RS_PER_00004, 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 > DeleteFile (ara::core::StringView fileName) noexcept;

Deletes a file from this File Storage. This operation will fail with kResourceBusy when the file is currently open.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4416a2cc7c72 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode DeleteFile der Klasse ara::per::FileStorage löscht eine Datei anhand ihres Namens (fileName) aus dem Dateispeicher [SWS_PER_00111]. Der Bezeichner kann dem konfigurierten PersistencyFile.fileName entsprechen [SWS_PER_00111]. Der Aufruf ist als noexcept spezifiziert, gilt als ausnahmesicher sowie threadsicher und meldet das Ergebnis über ara::core::Result<void> zurück [SWS_PER_00111].

Vor dem Aufruf müssen alle aktiven Zugriffe auf die Zieldatei beendet sein. Ist die Datei gegenwärtig geöffnet, schlägt der Löschvorgang mit dem Fehler PerErrc::kResourceBusy fehl [SWS_PER_00111]. Anwendungen müssen daher sicherstellen, dass zuvor über OpenFileReadWrite [SWS_PER_00113], OpenFileReadOnly [SWS_PER_00114] oder OpenFileWriteOnly [SWS_PER_00115] erzeugte UniqueHandle-Instanzen ihren Gültigkeitsbereich verlassen haben, wodurch die Datei geschlossen wird. Ebenso führt eine parallel laufende Ausführung von RecoverFile [SWS_PER_00337] oder ResetFile [SWS_PER_00338] für denselben Dateinamen zu PerErrc::kResourceBusy [SWS_PER_00111].

Im Fehlerfall stellt der zurückgegebene Result-Typ spezifische Fehlerursachen bereit [SWS_PER_00111]:

  • PerErrc::kFileNotFound: Die angegebene Datei existiert nicht im Dateispeicher [SWS_PER_00111].
  • PerErrc::kIllegalWriteAccess: Der File Storage ist schreibgeschützt konfiguriert [SWS_PER_00111].
  • PerErrc::kPhysicalStorageFailure: Der Zugriff auf das physische Speichermedium scheitert (ohne Rollback-Semantik) [SWS_PER_00111].
  • PerErrc::kIntegrityCorrupted, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed: Fehler bei struktureller Integrität, Ver-/Entschlüsselung oder MAC-Prüfung (jeweils mit Rollback-Semantik) sowie herstellerspezifische Fehler [SWS_PER_00111].

Dieser Text wurde von einer KI generiert und dient als Orientierungshilfe. Verbindlich sind ausschließlich die Spezifikationen der AUTOSAR-Dokumentation.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured 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
PerErrc::kIllegalWriteAccessrollback_semantics Returned if the File 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::kResourceBusyrollback_semantics Returned if the file is open, or if RecoverFile or ResetFile with the same file name is currently being executed.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in 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_00111
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00111@rel:R25-11#9014bbf3
Content hash
9014bbf3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00111
Status: valid/unmigrated Version: rel:R25-11#54be3f24 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_00111@rel:R25-11#54be3f24
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#9014bbf32026-09-30
  • R19-11rel:R19-11#878a9ae32026-10-14
  • R20-11rel:R20-11#c8f140db2026-10-14
  • R21-11rel:R21-11#35984aa22026-10-14
  • R22-11rel:R22-11#86df5bb02026-10-14
  • R23-11rel:R23-11#a507e2692026-10-14
  • R24-11rel:R24-11#5c96fd1e2026-10-14
  • R25-11rel:R25-11#54be3f242026-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

function FileExists [SWS_PER_00112] 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< bool > FileExists (ara::core::StringView fileName) const noexcept;

Checks if a file exists in this File Storage. The result is only accurate if no file is added or deleted at the same time. E.g. when a file is removed in another thread directly after this function returned "true", the result is not valid anymore.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f0bea0a79212 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode FileExists der Klasse ara::per::FileStorage prüft, ob eine Datei im betreffenden Dateispeicher vorhanden ist [SWS_PER_00112]. Die Funktion ist als noexcept deklariert und wirft keine C++-Exceptions [SWS_PER_00112].

Verwendung

Als Parameter wird fileName als ara::core::StringView übergeben, was dem Bezeichner PersistencyFile.fileName einer konfigurierten Datei entsprechen kann [SWS_PER_00112]. Der Rückgabewert ara::core::Result<bool> liefert true zurück, wenn die Datei lokalisiert werden konnte, und andernfalls false [SWS_PER_00112].

Fehlerbehandlung

Schlägt die Überprüfung fehl, enthält das zurückgegebene Result keinen Wahrheitswert, sondern einen Fehlercode [SWS_PER_00112]. Spezifizierte Fehlerursachen sind:

  • PerErrc::kPhysicalStorageFailure beim Scheitern des physischen Speicherzugriffs [SWS_PER_00112],
  • PerErrc::kIntegrityCorrupted bei beschädigter struktureller Integrität der Daten [SWS_PER_00112],
  • PerErrc::kValidationFailed, wenn die Validität gespeicherter Daten nicht gewährleistet werden kann [SWS_PER_00112],
  • PerErrc::kEncryptionFailed bei fehlgeschlagener Entschlüsselung [SWS_PER_00112],
  • PerErrc::kAuthenticationFailed bei fehlschlagender MAC-Prüfung [SWS_PER_00112] sowie mögliche herstellerspezifische Fehler [SWS_PER_00112].

Nebenläufigkeit und Einschränkungen

Die Methode ist als threadsicher deklariert [SWS_PER_00112]. Allerdings ist das gelieferte Prüfergebnis nur dann exakt, solange zeitgleich keine Dateien im Speicher hinzugefügt oder gelöscht werden; entfernt beispielsweise ein anderer Thread eine Datei direkt nach der Rückgabe von true, ist das Ergebnis bereits nicht mehr gültig [SWS_PER_00112].

Dieser Nutzungshinweis wurde automatisiert auf Basis von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result< bool >A Result containing true if the file 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_00112
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00112@rel:R25-11#b7ca3622
Content hash
b7ca3622
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00112
Status: valid/unmigrated Version: rel:R25-11#eff770fd 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_00112@rel:R25-11#eff770fd
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b7ca36222026-09-30
  • R19-11rel:R19-11#bb51dd332026-10-14
  • R20-11rel:R20-11#69021fcb2026-10-14
  • R21-11rel:R21-11#a1fece9f2026-10-14
  • R22-11rel:R22-11#2147fabd2026-10-14
  • R23-11rel:R23-11#cd2da2ba2026-10-14
  • R24-11rel:R24-11#421ba73d2026-10-14
  • R25-11rel:R25-11#eff770fd2026-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

function FileStorage [SWS_PER_00326] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00121, RS_AP_00129, RS_AP_00145, RS_AP_00159

FileStorage (FileStorage &&fs)=delete;

The move constructor for FileStorage shall not be used.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00326
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00326@rel:R25-11#201fb7f1
Content hash
201fb7f1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00326
Status: valid/unmigrated Version: rel:R25-11#62da63ae 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_00326@rel:R25-11#62da63ae
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#201fb7f12026-09-30
  • R19-11rel:R19-11#ee041ade2026-10-14
  • R20-11rel:R20-11#b225c72d2026-10-14
  • R21-11rel:R21-11#805cfb8b2026-10-14
  • R22-11rel:R22-11#a9c3021b2026-10-14
  • R23-11rel:R23-11#4fc6a3d12026-10-14
  • R24-11rel:R24-11#62da63ae2026-10-14
  • R25-11rel:R25-11#62da63ae2026-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

function FileStorage [SWS_PER_00328] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00145

FileStorage (const FileStorage &)=delete;

The copy constructor for FileStorage shall not be used.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00328
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00328@rel:R25-11#210f8371
Content hash
210f8371
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00328
Status: valid/unmigrated Version: rel:R25-11#457a8c69 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_00328@rel:R25-11#457a8c69
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#210f83712026-09-30
  • R19-11rel:R19-11#b53f0afb2026-10-14
  • R20-11rel:R20-11#4fbd234e2026-10-14
  • R21-11rel:R21-11#4fbd234e2026-10-14
  • R22-11rel:R22-11#3d9e304b2026-10-14
  • R23-11rel:R23-11#9edf14a62026-10-14
  • R24-11rel:R24-11#4f3e23582026-10-14
  • R25-11rel:R25-11#457a8c692026-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

function FileStorage [SWS_PER_00460] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00146

FileStorage ()=delete;

The default constructor for FileStorage shall not be used.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00460
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00460@rel:R25-11#9eb41591
Content hash
9eb41591
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00460
Status: valid/unmigrated Version: rel:R25-11#11aa6301 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_00460@rel:R25-11#11aa6301
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#9eb415912026-09-30
  • R21-11rel:R21-11#f93f78842026-10-14
  • R22-11rel:R22-11#1e2c76302026-10-14
  • R23-11rel:R23-11#dd525b8f2026-10-14
  • R24-11rel:R24-11#11aa63012026-10-14
  • R25-11rel:R25-11#11aa63012026-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

function GetAllFileNames [SWS_PER_00110] Upstream: RS_PER_00001, RS_PER_00004, 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 > > GetAllFile Names () const noexcept;

Returns a list of all currently available file names of this File Storage. The list of file names is only accurate if no file is added or deleted at the same time.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
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 file names. 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_00110
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00110@rel:R25-11#2ea4c0b7
Content hash
2ea4c0b7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00110
Status: valid/unmigrated Version: rel:R25-11#2a355aef 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_00110@rel:R25-11#2a355aef
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2ea4c0b72026-09-30
  • R19-11rel:R19-11#2c8803ba2026-10-14
  • R20-11rel:R20-11#6c4ecd642026-10-14
  • R21-11rel:R21-11#7a8244992026-10-14
  • R22-11rel:R22-11#1e3bc0af2026-10-14
  • R23-11rel:R23-11#0cb5785b2026-10-14
  • R24-11rel:R24-11#2a355aef2026-10-14
  • R25-11rel:R25-11#2a355aef2026-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

function GetCurrentFileSize [SWS_PER_00407] 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 > GetCurrentFileSize (ara::core::StringView fileName) const noexcept;

Returns the space in bytes currently occupied by the content of a file of this File Storage. The returned size might be inaccurate if any of the instances of a file is invalid or if another operation on the file takes place at the same time.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result<std::uint64_t >A Result containing the occupied space in bytes. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
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::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.

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

Record
AUTOSAR/AP/record/SWS_PER_00407
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00407@rel:R25-11#071859e9
Content hash
071859e9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00407
Status: valid/unmigrated Version: rel:R25-11#179f149b 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_00407@rel:R25-11#179f149b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#071859e92026-09-30
  • R19-11rel:R19-11#033eba912026-10-14
  • R20-11rel:R20-11#3966ef4c2026-10-14
  • R21-11rel:R21-11#d10d2b0b2026-10-14
  • R22-11rel:R22-11#8dd5feab2026-10-14
  • R23-11rel:R23-11#9f29c68f2026-10-14
  • R24-11rel:R24-11#179f149b2026-10-14
  • R25-11rel:R25-11#179f149b2026-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

function GetFileInfo [SWS_PER_00438] Upstream: RS_PER_00004, 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< FileInfo > GetFileInfo (ara::core::StringView file Name) const noexcept;

Returns additional information on a file of this File Storage. The returned FileInfo struct contains information about the times when the file was created, last modified, and last accessed, and about how and by whom the file was created and last modified. The modificationTime, accessTime, and fileModificationState returned in the FileInfo are only accurate if the file is currently not open.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result< FileInfo >A Result containing a FileInfo struct. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
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::kEncryptionFailedrollback_semantics Returned if the decryption of stored data fails.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.

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

Record
AUTOSAR/AP/record/SWS_PER_00438
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00438@rel:R25-11#54615ca1
Content hash
54615ca1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00438
Status: valid/unmigrated Version: rel:R25-11#ac6ae9db 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_00438@rel:R25-11#ac6ae9db
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#54615ca12026-09-30
  • R20-11rel:R20-11#3e42a8462026-10-14
  • R21-11rel:R21-11#2ca508bf2026-10-14
  • R22-11rel:R22-11#374465322026-10-14
  • R23-11rel:R23-11#57dca30b2026-10-14
  • R24-11rel:R24-11#87296ea62026-10-14
  • R25-11rel:R25-11#ac6ae9db2026-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

function OpenFileReadOnly [SWS_PER_00114] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadAccessor > > OpenFileReadOnly (ara::core::StringView fileName, OpenMode mode) noexcept;

Opens a file of this File Storage for reading with a defined mode. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b7f6df93c4d9 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die Methode OpenFileReadOnly der Klasse ara::per::FileStorage (deklariert in #include "ara/per/file_storage.h") öffnet eine persistierte Datei schreibgeschützt mit einem spezifizierten Zugriffsmodus [SWS_PER_00114]. Falls über den Parameter mode nicht anders vorgegeben, wird die Lesezeigerposition standardmäßig auf den Dateianfang (kAtTheBeginning) gesetzt [SWS_PER_00114]. Die Ausführung erfolgt synchron und gibt ein ara::core::Result<UniqueHandle<ReadAccessor>> zurück. Das Handle nutzt RAII-Semantik: Sobald die Instanz von UniqueHandle ihren Gültigkeitsbereich verlässt, wird die Datei automatisch geschlossen [SWS_PER_00114].

Hinsichtlich der Nebenläufigkeit ist die Methode als thread-safe und exception safe (mit noexcept) spezifiziert [SWS_PER_00114]. Dennoch bestehen funktionale Aufrufeinschränkungen: Ist die Zieldatei bereits geöffnet oder werden zeitgleich Operationen wie DeleteFile, RecoverFile oder ResetFile mit demselben Dateinamen ausgeführt, schlägt der Aufruf mit PerErrc::kResourceBusy fehl [SWS_PER_00114].

Im Fehlerfall liefert das ara::core::Result herstellerspezifische Fehler oder standardisierte Fehlercodes aus PerErrc bzw. StorageFailure zurück [SWS_PER_00114]:

  • PerErrc::kFileNotFound: Die angegebene Datei existiert nicht im Dateispeicher [SWS_PER_00114].
  • PerErrc::kInvalidOpenMode: Der übergebene Modus enthält eine ungültige Kombination von Flags [SWS_PER_00114].
  • StorageFailure: Der Zugriff auf den physischen Speicher ist fehlgeschlagen [SWS_PER_00114].
  • PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kAuthenticationFailed oder PerErrc::kEncryptionFailed: Strukturelle Integrität beschädigt, Validierung unzureichend, MAC-Prüfung fehlerhaft oder Entschlüsselung misslungen [SWS_PER_00114].

Im Zusammenspiel mit anderen Schnittstellen bietet FileStorage zwei verwandte Überladungen: Eine Variante ohne Modusparameter, die stets am Dateianfang öffnet [SWS_PER_00376], sowie eine Überladung mit Puffer (ara::core::Span<ara::core::Byte> buffer), über den der ReadAccessor blockweises Lesen implementiert, um viele kleine Zugriffe zu beschleunigen [SWS_PER_00430].

Dieser Nutzungshinweis wurde automatisch auf Basis der Spezifikation von AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadAccessor > >A Result containing a UniqueHandle for the file. 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
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_00114
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00114@rel:R25-11#56472e6d
Content hash
56472e6d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00114
Status: valid/unmigrated Version: rel:R25-11#d387e566 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_00114@rel:R25-11#d387e566
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#56472e6d2026-09-30
  • R19-11rel:R19-11#68c3cec42026-10-14
  • R20-11rel:R20-11#70976e3f2026-10-14
  • R21-11rel:R21-11#2c5ff8412026-10-14
  • R22-11rel:R22-11#2b3b319d2026-10-14
  • R23-11rel:R23-11#e52382f02026-10-14
  • R24-11rel:R24-11#f80914872026-10-14
  • R25-11rel:R25-11#d387e5662026-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

function OpenFileReadOnly [SWS_PER_00376] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadAccessor > > OpenFileReadOnly (ara::core::StringView fileName) noexcept;

Opens a file of this File Storage for reading. The file is opened with the seek position set to the beginning (corresponding to kAtThe Beginning). The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 4286b0e81322 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode OpenFileReadOnly der Klasse ara::per::FileStorage öffnet eine persistierte Datei schreibgeschützt zum Lesen [SWS_PER_00376]. Der Aufruf erfolgt über die Header-Datei ara/per/file_storage.h unter Übergabe des Dateinamens fileName. Die Leseposition wird dabei initial auf den Dateianfang gesetzt. Als Rückgabewert dient ein ara::core::Result, das bei Erfolg ein UniqueHandle<ReadAccessor> bereitstellt. Die geöffnete Datei wird automatisch geschlossen, sobald dieses Handle seinen Gültigkeitsbereich verlässt.

Fehlerbehandlung

Schlägt die Ausführung fehl, enthält das Ergebnis einen Fehlercode oder einen herstellerspezifischen Fehler [SWS_PER_00376]:

  • PerErrc::kFileNotFound: Die angegebene Datei existiert nicht im Speicher.
  • PerErrc::kResourceBusy: Die Datei ist bereits geöffnet oder wird zeitgleich durch DeleteFile, RecoverFile oder ResetFile verarbeitet.
  • PerErrc::kPhysicalStorageFailure: Der Zugriff auf das physische Speichermedium ist fehlgeschlagen.
  • PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed: Fehler bei Strukturintegrität, Datenvalidierung, Entschlüsselung oder MAC-Prüfung.

Nebenläufigkeit und Zusammenspiel

Die Methode ist als thread-safe, exception safe sowie noexcept spezifiziert [SWS_PER_00376]. Für erweiterte Anforderungen stehen Überladungen bereit: eine Variante zur expliziten Angabe eines OpenMode [SWS_PER_00114] sowie eine Signatur mit zusätzlichem Benutzerpuffer zur blockweisen Beschleunigung kleinerer Lesezugriffe [SWS_PER_00430].

Dieser Nutzungshinweis wurde automatisiert anhand der AUTOSAR-Spezifikation erstellt.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadAccessor > >A Result containing a UniqueHandle for the file. 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.
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_00376
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00376@rel:R25-11#f25323df
Content hash
f25323df
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00376
Status: valid/unmigrated Version: rel:R25-11#c1cc1c73 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_00376@rel:R25-11#c1cc1c73
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#f25323df2026-09-30
  • R19-11rel:R19-11#630d35ad2026-10-14
  • R20-11rel:R20-11#c212e2fc2026-10-14
  • R21-11rel:R21-11#d617d2d22026-10-14
  • R22-11rel:R22-11#88f516892026-10-14
  • R23-11rel:R23-11#eab160e12026-10-14
  • R24-11rel:R24-11#6b07bd902026-10-14
  • R25-11rel:R25-11#c1cc1c732026-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

function OpenFileReadOnly [SWS_PER_00430] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadAccessor > > OpenFileReadOnly (ara::core::StringView fileName, OpenMode mode, ara::core::Span< ara::core::Byte > buffer) noexcept;

Opens a file of this File Storage for reading with a user provided buffer. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). The provided buffer will be used by the ReadAccessor to implement block-wise reading to speed up multiple small accesses to the file. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: f3a0884b9d84 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode OpenFileReadOnly der Klasse ara::per::FileStorage öffnet eine persistierte Datei zum lesenden Zugriff unter Verwendung eines vom Aufrufer bereitgestellten Puffers [SWS_PER_00430]. Anhand der Parameter fileName, mode sowie buffer (als ara::core::Span<ara::core::Byte>) wird der Dateizugriff initialisiert [SWS_PER_00430]. Sofern über mode nichts anderes vorgegeben wird, steht die Leseposition standardmäßig am Dateianfang (kAtTheBeginning) [SWS_PER_00430]. Der übergebene Speicherbereich wird vom resultierenden ReadAccessor genutzt, um über blockweises Einlesen wiederholte kleine Lesezugriffe zu beschleunigen [SWS_PER_00430]. Die Ressource ist über RAII geschützt: Sobald das zurückgegebene UniqueHandle den Gültigkeitsbereich verlässt, wird die Datei automatisch geschlossen [SWS_PER_00430].

Hinsichtlich der Nebenläufigkeit ist die Funktion als threadsicher (thread-safe), ausnahmesicher (exception safe) und noexcept spezifiziert [SWS_PER_00430]. Tritt ein Fehler auf, liefert das ara::core::Result herstellerspezifische Fehler oder standardisierte Fehlercodes aus PerErrc [SWS_PER_00430]:

  • PerErrc::kResourceBusy: Die Datei ist bereits geöffnet oder wird zeitgleich durch DeleteFile, RecoverFile bzw. ResetFile verarbeitet [SWS_PER_00430].
  • PerErrc::kFileNotFound: Die angegebene Datei existiert nicht im Dateispeicher [SWS_PER_00430].
  • PerErrc::kInvalidOpenMode: Der übergebene Modus enthält eine ungültige Kombination von Optionen [SWS_PER_00430].
  • Integritäts- und Sicherheitsfehler: PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed (Fehlschlag der MAC-Prüfung) sowie StorageFailure bei physischen Speicherzugriffsfehlern [SWS_PER_00430].

Neben dieser gepufferten Variante stehen für Anwendungsfälle ohne benutzerdefinierten Puffer die Überladungen [SWS_PER_00114] (mit mode) und [SWS_PER_00376] (nur mit fileName) bereit.

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.
bufferMemory to be used for block-wise reading.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadAccessor > >A Result containing a UniqueHandle for the file. 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
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_00430
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00430@rel:R25-11#d5ddc0d9
Content hash
d5ddc0d9
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00430
Status: valid/unmigrated Version: rel:R25-11#6f001bfd 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_00430@rel:R25-11#6f001bfd
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#d5ddc0d92026-09-30
  • R20-11rel:R20-11#a9e488522026-10-14
  • R21-11rel:R21-11#f7bf78f42026-10-14
  • R22-11rel:R22-11#668067d82026-10-14
  • R23-11rel:R23-11#bc8680862026-10-14
  • R24-11rel:R24-11#062cbdd82026-10-14
  • R25-11rel:R25-11#6f001bfd2026-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

function OpenFileReadWrite [SWS_PER_00113] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadWriteAccessor > > OpenFileRead Write (ara::core::StringView fileName, OpenMode mode) noexcept;

Opens a file of this File Storage for reading and writing with a defined mode. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cf05039b8020 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Methode OpenFileReadWrite der Klasse ara::per::FileStorage öffnet eine Datei für Lese- und Schreibzugriffe im angegebenen Modus mode [SWS_PER_00113]. Wenn im Modus nicht anders spezifiziert, wird der Dateizeiger standardmäßig an den Anfang gesetzt (kAtTheBeginning). Existiert die Datei noch nicht, wird sie automatisch angelegt [SWS_PER_00113]. Die Funktion liefert ein ara::core::Result mit einem UniqueHandle<ReadWriteAccessor> zurück, welches die Datei automatisch schließt, sobald das Handle seinen Gültigkeitsbereich verlässt [SWS_PER_00113].

Nebenläufigkeit und Einschränkungen

Der Aufruf ist threadsicher (thread-safe) und wirft keine Exceptions (noexcept) [SWS_PER_00113]. Die Datei darf beim Aufruf nicht bereits geöffnet sein. Zudem darf keine gleichzeitige Ausführung von DeleteFile, RecoverFile oder ResetFile mit demselben Dateinamen stattfinden, da der Aufruf sonst mit PerErrc::kResourceBusy fehlschlägt [SWS_PER_00113].

Fehlerbehandlung

Im Fehlerfall enthält das ara::core::Result spezifische Fehlercodes [SWS_PER_00113]:

  • PerErrc::kInvalidOpenMode: Ungültige Kombination von Flags im übergebenen mode.
  • PerErrc::kResourceBusy: Die Zieldatei ist bereits geöffnet oder wird durch administrative Dateioperationen belegt.
  • Access: Der Speicher ist als read-only konfiguriert oder als write-only-once bei bereits existierendem Schlüssel.
  • PerErrc::kOutOfStorageSpace bzw. PerErrc::kTooManyFiles: Unzureichender physischer Speicherplatz oder Überschreitung von maxNumberOfFiles bei Neuanlage.
  • PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed, PerErrc::kAuthenticationFailed: Hardwarezugriffsfehler, korrumpierte Datenstrukturen oder fehlgeschlagene kryptografische Validierungen.

Zusammenspiel

Als vereinfachte Variante steht eine Überladung ohne Modus-Parameter zur Verfügung, die Dateien standardmäßig am Anfang öffnet [SWS_PER_00375]. Zur Performanzoptimierung bei zahlreichen kleinen Zugriffen existiert ferner eine Überladung mit benutzerdefiniertem Puffer (buffer) für blockweises Lesen und Schreiben [SWS_PER_00429].

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation AUTOSAR Adaptive Release R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadWriteAccessor > >A Result containing a UniqueHandle for the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
AccessReturned if the File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00113
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00113@rel:R25-11#b7812ac6
Content hash
b7812ac6
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00113
Status: valid/unmigrated Version: rel:R25-11#64fa2a80 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_00113@rel:R25-11#64fa2a80
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#b7812ac62026-09-30
  • R19-11rel:R19-11#29f193992026-10-14
  • R20-11rel:R20-11#705aebbc2026-10-14
  • R21-11rel:R21-11#3e1bef852026-10-14
  • R22-11rel:R22-11#8b90a8c62026-10-14
  • R23-11rel:R23-11#9d0c90192026-10-14
  • R24-11rel:R24-11#c88f05782026-10-14
  • R25-11rel:R25-11#64fa2a802026-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

function OpenFileReadWrite [SWS_PER_00375] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadWriteAccessor > > OpenFileRead Write (ara::core::StringView fileName) noexcept;

Opens a file of this File Storage for reading and writing. The file is opened with the seek position set to the beginning (corresponding to kAtThe Beginning). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: e0c7dc90877b Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Memberfunktion OpenFileReadWrite der Klasse ara::per::FileStorage dient dem Öffnen einer Datei für kombinierte Lese- und Schreibzugriffe [SWS_PER_00375]. Als Parameter wird der Dateiname fileName als ara::core::StringView übergeben, welcher der Modellierung PersistencyFile.fileName einer konfigurierten Datei entsprechen kann [SWS_PER_00375]. Existiert die angegebene Datei noch nicht, wird sie automatisch neu angelegt [SWS_PER_00375]. Beim Öffnen wird die Dateiposition unmittelbar an den Anfang gesetzt (entsprechend kAtTheBeginning) [SWS_PER_00375]. Der Aufrufer erhält ein ara::core::Result<UniqueHandle<ReadWriteAccessor>>; die Datei wird automatisch geschlossen, sobald das zurückgegebene UniqueHandle seinen Gültigkeitsbereich verlässt [SWS_PER_00375].

Hinsichtlich Nebenläufigkeit und Ausführungskontext ist die Funktion als thread-safe und exception safe spezifiziert [SWS_PER_00375]. Es gilt jedoch zu beachten, dass gleichzeitige Zugriffe reglementiert sind: Ist die Datei bereits geöffnet oder wird zeitgleich eine Operation wie DeleteFile, RecoverFile oder ResetFile auf demselben Dateinamen ausgeführt, schlägt der Aufruf fehl und liefert den Fehlercode PerErrc::kResourceBusy [SWS_PER_00375].

Im Fehlerfall kapselt das zurückgegebene Result-Objekt spezifische Fehler der Persistenz oder herstellerspezifische Fehler [SWS_PER_00375]:

  • Konfigurations- und Zugriffsfehler wie Access bei schreibgeschütztem Speicher oder bereits existierenden Daten bei Write-Once-Konfiguration [SWS_PER_00375].
  • Speicherplatzgrenzen durch PerErrc::kOutOfStorageSpace oder PerErrc::kTooManyFiles bei Überschreitung der konfigurierten Datei-Obergrenze [SWS_PER_00375].
  • Integritäts- und Sicherheitsfehler wie PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed [SWS_PER_00375].

Im Zusammenspiel mit weiteren Schnittstellen von FileStorage bietet AUTOSAR alternative Überladungen: OpenFileReadWrite kann mit explizitem OpenMode aufgerufen werden [SWS_PER_00113] oder mit zusätzlichem anwenderseitigem Speicherbereich buffer (ara::core::Span<ara::core::Byte>), der ein blockweises Puffern ermöglicht, um wiederholte kleine Zugriffe zu beschleunigen [SWS_PER_00429].

Dieser Text wurde von einer KI generiert und anhand der AUTOSAR-Spezifikation geprüft.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadWriteAccessor > >A Result containing a UniqueHandle for the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
AccessReturned if the File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00375
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00375@rel:R25-11#ff96f972
Content hash
ff96f972
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00375
Status: valid/unmigrated Version: rel:R25-11#f465ec05 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_00375@rel:R25-11#f465ec05
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#ff96f9722026-09-30
  • R19-11rel:R19-11#cc81c63c2026-10-14
  • R20-11rel:R20-11#1cfd91622026-10-14
  • R21-11rel:R21-11#32976f732026-10-14
  • R22-11rel:R22-11#8a4213d62026-10-14
  • R23-11rel:R23-11#c423d7112026-10-14
  • R24-11rel:R24-11#0b6d7d9b2026-10-14
  • R25-11rel:R25-11#f465ec052026-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

function OpenFileReadWrite [SWS_PER_00429] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< ReadWriteAccessor > > OpenFileRead Write (ara::core::StringView fileName, OpenMode mode, ara::core::Span< ara::core::Byte > buffer) noexcept;

Opens a file of this File Storage for reading and writing with a user provided buffer. If not otherwise specified by the provided mode, the file is opened with the seek position set to the beginning (corresponding to kAtTheBeginning). The provided buffer will be used by the ReadWriteAccessor to implement block-wise reading and writing to speed up multiple small accesses to the file. If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 06577277e905 Herkunft Offene Fragen (1)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode OpenFileReadWrite der Klasse ara::per::FileStorage öffnet eine Datei synchron zum kombinierten Lesen und Schreiben unter Bereitstellung eines anwenderdefinierten Puffers [SWS_PER_00429]. Der übergebene Speicherbereich buffer (als ara::core::Span<ara::core::Byte>) wird intern durch den ReadWriteAccessor für blockweise Lese- und Schreiboperationen verwendet, um Serien kleiner Zugriffe performant abzuwickeln. Existiert die angegebene Datei noch nicht, wird sie automatisch neu erstellt; die Dateiposition liegt standardmäßig am Beginn (kAtTheBeginning), sofern nicht im übergebenen mode anders vorgegeben [SWS_PER_00429]. Die Datei wird geschlossen, sobald das im ara::core::Result zurückgegebene UniqueHandle seinen Gültigkeitsbereich verlässt. Interpretation: Der zugrundeliegende Speicher des übergebenen Puffer-Spans muss vermutlich für die gesamte Lebensdauer des UniqueHandle gültig bleiben, da der Accessor ihn für Blockzugriffe referenziert. Frage Q-e0009b7de17e3597 (offen)

Fehlerbehandlung und Nebenläufigkeit

Die Funktion ist als noexcept, ausnahmesicher (exception safe) und threadsicher spezifiziert [SWS_PER_00429]. Bei Fehlschlägen liefert das Result herstellerspezifische Fehler oder definierte Fehlercodes:

  • PerErrc::kResourceBusy: Die Datei ist bereits geöffnet oder wird zeitgleich durch DeleteFile, RecoverFile bzw. ResetFile mit demselben Namen verarbeitet [SWS_PER_00429].
  • Access: Der Speicherbereich ist als read-only konfiguriert oder als write-only-once festgelegt und bereits belegt [SWS_PER_00429].
  • PerErrc::kInvalidOpenMode: Der übergebene mode enthält eine ungültige Merkmalskombination [SWS_PER_00429].
  • PerErrc::kOutOfStorageSpace bzw. PerErrc::kTooManyFiles: Der physische Speicher reicht für eine Neuanlage nicht aus oder das konfigurierte Limit maxNumberOfFiles würde überschritten [SWS_PER_00429].
  • PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed und PerErrc::kAuthenticationFailed: Fehler beim Zugriff, bei der Integritäts-, MAC- oder Validierungsprüfung sowie bei der Entschlüsselung [SWS_PER_00429].

Zusammenspiel

Die Methode stellt eine leistungsoptimierte Variante der Lese-/Schreiböffnung dar: Während [SWS_PER_00113] nur Dateiname und Modus und [SWS_PER_00375] ausschließlich den Dateinamen verarbeitet, gestattet [SWS_PER_00429] die gezielte Beschleunigung kleiner I/O-Zugriffe über einen expliziten Speicherpuffer.

Dieser Text wurde von einer KI erstellt und basiert auf den Vorgaben der AUTOSAR-Spezifikation.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.
bufferMemory to be used for block-wise reading/writing.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< ReadWriteAccessor > >A Result containing a UniqueHandle for the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
AccessReturned if the File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00429
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00429@rel:R25-11#380d9a53
Content hash
380d9a53
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00429
Status: valid/unmigrated Version: rel:R25-11#e9dd40b8 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_00429@rel:R25-11#e9dd40b8
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#380d9a532026-09-30
  • R20-11rel:R20-11#38b6d4692026-10-14
  • R21-11rel:R21-11#a276c7642026-10-14
  • R22-11rel:R22-11#359642092026-10-14
  • R23-11rel:R23-11#09bac95b2026-10-14
  • R24-11rel:R24-11#7891475a2026-10-14
  • R25-11rel:R25-11#e9dd40b82026-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

function OpenFileWriteOnly [SWS_PER_00115] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< WriteAccessor > > OpenFileWriteOnly (ara::core::StringView fileName, OpenMode mode) noexcept;

Opens a file of this File Storage for writing with a defined mode. If not otherwise specified by the provided mode, the file is truncated (corresponding to k Truncate). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: cf72b60c71fb Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die Methode OpenFileWriteOnly der Klasse ara::per::FileStorage öffnet eine Datei synchron zum ausschließlichen Schreiben mit einem definierten Zugriffsmodus [SWS_PER_00115]. Sofern über den Parameter mode nicht anders angegeben, wird die Datei dabei abgeschnitten (entsprechend kTruncate). Existiert die Datei noch nicht, wird sie neu erzeugt. Als Rückgabewert dient ein ara::core::Result<UniqueHandle<WriteAccessor>>; beim Verlassen des Gültigkeitsbereichs des UniqueHandle wird die Datei automatisch wieder geschlossen [SWS_PER_00115].

Fehlerbehandlung

Im Fehlerfall enthält das zurückgegebene Result spezifische Fehlercodes [SWS_PER_00115]: Access zeigt an, dass der Speicher schreibgeschützt ist oder als Write-Once konfiguriert wurde und der Schlüssel bereits existiert. PerErrc::kInvalidOpenMode meldet ungültige Moduskombinationen und PerErrc::kOutOfStorageSpace unzureichenden physischen Speicherplatz. Weiterhin können PerErrc::kTooManyFiles, PerErrc::kPhysicalStorageFailure sowie Integritäts- und Sicherheitsfehler wie PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed auftreten [SWS_PER_00115].

Nebenläufigkeit und Einschränkungen

Die Funktion ist threadsicher sowie ausnahmesicher (noexcept) ausgelegt [SWS_PER_00115]. Parallele Zugriffe auf dieselbe Datei scheitern mit dem Fehlercode PerErrc::kResourceBusy, falls die Datei bereits geöffnet ist oder zeitgleich Operationen wie DeleteFile, RecoverFile oder ResetFile mit demselben Dateinamen ausgeführt werden [SWS_PER_00115].

Zusammenspiel

Neben dieser Funktion stellt die Schnittstelle eine vereinfachte Überladung ohne Modusparameter bereit, die standardmäßig mit kTruncate arbeitet [SWS_PER_00377], sowie eine Überladung mit benutzerdefiniertem Puffer, um blockweises Schreiben zur Beschleunigung vieler kleiner Zugriffe zu ermöglichen [SWS_PER_00431].

Dieser Nutzungshinweis wurde von einer KI auf Basis der Spezifikation generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< WriteAccessor > >A Result containing a UniqueHandle for the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
AccessReturned if the File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00115
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00115@rel:R25-11#94709035
Content hash
94709035
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00115
Status: valid/unmigrated Version: rel:R25-11#8d570d7b 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_00115@rel:R25-11#8d570d7b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#947090352026-09-30
  • R19-11rel:R19-11#a8c3f2cb2026-10-14
  • R20-11rel:R20-11#a4a01e002026-10-14
  • R21-11rel:R21-11#9d4cb3182026-10-14
  • R22-11rel:R22-11#94711d402026-10-14
  • R23-11rel:R23-11#e0aa47d82026-10-14
  • R24-11rel:R24-11#6c8c32a92026-10-14
  • R25-11rel:R25-11#8d570d7b2026-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

function OpenFileWriteOnly [SWS_PER_00377] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< WriteAccessor > > OpenFileWriteOnly (ara::core::StringView fileName) noexcept;

Opens a file of this File Storage for writing. The file is truncated (corresponding to kTruncate). If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: fa6d3b80cd05 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Methode OpenFileWriteOnly der Klasse ara::per::FileStorage öffnet eine Datei ausschließlich zum Schreiben gemäß [SWS_PER_00377]. Sie übernimmt über den Parameter fileName den Namen der Zieldatei. Falls die Datei nicht existiert, wird sie neu erstellt; eine bereits vorhandene Datei wird gekürzt (entsprechend kTruncate) [SWS_PER_00377]. Als Rückgabewert dient ein ara::core::Result, das bei Erfolg ein ara::per::UniqueHandle<WriteAccessor> kapselt. Dieses Handle schließt die Datei automatisch nach dem RAII-Muster, sobald es den Gültigkeitsbereich verlässt [SWS_PER_00377].

Fehlerbehandlung und Nebenläufigkeit

Die Operation ist als noexcept deklariert, ausnahmesicher und threadsicher [SWS_PER_00377]. Im Fehlerfall enthält das Result einen spezifischen Fehlercode aus PerErrc oder einen herstellerspezifischen Fehler [SWS_PER_00377]:

  • PerErrc::kResourceBusy: Die Datei ist bereits geöffnet oder wird zeitgleich durch DeleteFile, RecoverFile oder ResetFile bearbeitet.
  • PerErrc::kOutOfStorageSpace und PerErrc::kTooManyFiles: Der physische Speicher reicht nicht aus oder die maximale Anzahl konfigurierter Dateien (maxNumberOfFiles) wird überschritten.
  • PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed: Fehler beim Hardwarezugriff sowie bei Integritäts-, Validierungs- oder Entschlüsselungsprüfungen.

Zusammenspiel

Während diese Variante das Kürzen fest vorgibt, erlaubt die Überladung mit dem Parameter OpenMode eine abweichende Öffnungsart [SWS_PER_00115]. Für optimierte, blockweise Schreiboperationen mit mehreren kleinen Zugriffen steht eine weitere Überladung mit anwenderdefiniertem Puffer (ara::core::Span<ara::core::Byte>) zur Verfügung [SWS_PER_00431].

Dieser Text wurde von einer KI auf Basis der Spezifikation AUTOSAR Adaptive R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kIllegalWrite rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< WriteAccessor > >A Result containing a UniqueHandle for the file. In case of an error, it contains any of the errors defined below, or a vendor specific error.

Fehler

FehlercodeBeschreibung
AccessReturned if the File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00377
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00377@rel:R25-11#42576588
Content hash
42576588
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00377
Status: valid/unmigrated Version: rel:R25-11#b93b741b 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_00377@rel:R25-11#b93b741b
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#425765882026-09-30
  • R19-11rel:R19-11#19dcafc12026-10-14
  • R20-11rel:R20-11#65cfdd922026-10-14
  • R21-11rel:R21-11#070ae0fe2026-10-14
  • R22-11rel:R22-11#8d2829d82026-10-14
  • R23-11rel:R23-11#f1d4f46e2026-10-14
  • R24-11rel:R24-11#06a2d0b72026-10-14
  • R25-11rel:R25-11#b93b741b2026-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

function OpenFileWriteOnly [SWS_PER_00431] Upstream: RS_PER_00001, RS_PER_00004, 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_00144, RS_AP_00159

ara::core::Result< UniqueHandle< WriteAccessor > > OpenFileWriteOnly (ara::core::StringView fileName, OpenMode mode, ara::core::Span< ara::core::Byte > buffer) noexcept;

Opens a file of this File Storage for writing with a user provided buffer. If not otherwise specified by the provided mode, the file is truncated (corresponding to k Truncate). The provided buffer will be used by the ReadWriteAccessor to implement block-wise writing to speed up multiple small accesses to the file. If the file does not exist, it is created. The file will be closed when the returned UniqueHandle goes out of scope.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 37dc6b2848d7 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode OpenFileWriteOnly der Klasse ara::per::FileStorage öffnet eine Datei zum ausschließlichen Schreiben und liefert im Erfolgsfall ein ara::core::Result<UniqueHandle<WriteAccessor>> zurück [SWS_PER_00431]. Beim Verlassen des Gültigkeitsbereichs des zurückgegebenen UniqueHandle wird die geöffnete Datei automatisch geschlossen [SWS_PER_00431]. Der Aufruf übernimmt neben dem Dateinamen fileName und dem Zugriffsmodus mode einen anwenderseitigen Puffer buffer (als ara::core::Span<ara::core::Byte>), der für blockweises Schreiben genutzt wird, um wiederholte kleine Schreibzugriffe zu beschleunigen [SWS_PER_00431]. Falls im Modus nicht abweichend konfiguriert, wird die Datei beim Öffnen gekürzt (entsprechend kTruncate); existiert sie noch nicht, wird sie neu angelegt [SWS_PER_00431].

Hinsichtlich Nebenläufigkeit und Sicherheit ist die Methode als thread-safe und exception safe spezifiziert sowie als noexcept deklariert [SWS_PER_00431]. Der Zugriff schlägt jedoch fehl, wenn die Datei bereits geöffnet ist oder zeitgleich Verwaltungsoperationen wie DeleteFile, RecoverFile oder ResetFile auf demselben Dateinamen ausgeführt werden [SWS_PER_00431].

Im Fehlerfall wird ein entsprechender Fehlercode aus PerErrc oder ein herstellerspezifischer Fehler im Ergebnis zurückgegeben [SWS_PER_00431]:

  • PerErrc::kResourceBusy: Die Datei ist bereits geöffnet oder wird durch eine andere Dateioperation belegt [SWS_PER_00431].
  • PerErrc::kIllegalWriteAccess: Der File Storage ist schreibgeschützt oder als write-only-once konfiguriert und die Datei existiert bereits [SWS_PER_00431].
  • PerErrc::kInvalidOpenMode: Die übergebene Moduskombination ist ungültig [SWS_PER_00431].
  • PerErrc::kOutOfStorageSpace oder PerErrc::kTooManyFiles: Der Speicherplatz reicht nicht aus oder die maximale Anzahl konfigurierter Dateien wird überschritten [SWS_PER_00431].
  • PerErrc::kPhysicalStorageFailure, PerErrc::kIntegrityCorrupted, PerErrc::kValidationFailed, PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed: Fehler bei physischem Zugriff, Integrität, Validierung, Entschlüsselung oder Authentifizierung [SWS_PER_00431].

Im Zusammenspiel mit anderen Schnittstellen erweitert die Funktion die Basismethoden [SWS_PER_00377] (nur fileName) und [SWS_PER_00115] (mit mode) gezielt um die Pufferunterstützung für optimierte Schreibvorgänge [SWS_PER_00431].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation von AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I1)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured file.
modeMode with which the file shall be opened.
bufferMemory to be used for block-wise writing.

Rückgabewert

TypBeschreibung
ara::core::Result<UniqueHandle< WriteAccessor > >A Result containing a UniqueHandle for the file. 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 File 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 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::kResourceBusyrollback_semantics Returned if the file is already open, or if DeleteFile, RecoverFile, or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for a new file.
PerErrc::kInvalidOpenModerollback_semantics Returned if the passed mode contains an invalid combination of modes.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is created.
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_00431
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00431@rel:R25-11#4a523943
Content hash
4a523943
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00431
Status: valid/unmigrated Version: rel:R25-11#3f1ccf51 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_00431@rel:R25-11#3f1ccf51
Point-in-Time History:
Recorded Revisions (7):
  • R25-11rel:R25-11#4a5239432026-09-30
  • R20-11rel:R20-11#cee86b4c2026-10-14
  • R21-11rel:R21-11#97f9954b2026-10-14
  • R22-11rel:R22-11#950e84fd2026-10-14
  • R23-11rel:R23-11#26aeb4402026-10-14
  • R24-11rel:R24-11#e7c640db2026-10-14
  • R25-11rel:R25-11#3f1ccf512026-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

function RecoverFile [SWS_PER_00337] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, 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 > RecoverFile (ara::core::StringView fileName) noexcept;

Recovers a file of this File Storage. This method allows to recover a single file when the redundancy checks fail. It will fail with kResourceBusy when the file is currently open. This method does a best-effort recovery of the file. After recovery, the file might show outdated or initial content, or might be lost.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 1adb8f07ad8e Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Verwendung

Die synchrone Methode RecoverFile der Klasse ara::per::FileStorage führt eine Best-Effort-Wiederherstellung einer einzelnen Datei durch, wenn Redundanzprüfungen fehlschlagen [SWS_PER_00337]. Der Bezeichner der betroffenen Datei wird über den Parameter fileName als ara::core::StringView übergeben. Nach der Wiederherstellung kann die Datei veraltete Stände oder den Initialinhalt aufweisen oder im ungünstigsten Fall verloren sein [SWS_PER_00337].

Nebenläufigkeit und Zusammenspiel

Die Operation ist threadsicher und ausnahmesicher spezifiziert [SWS_PER_00337]. Sie darf jedoch nicht auf geöffneten Dateien ausgeführt werden: Vor dem Aufruf müssen alle zuvor über Dateiöffnungsmethoden wie [SWS_PER_00113], [SWS_PER_00114] oder [SWS_PER_00375] bezogenen UniqueHandle-Instanzen geschlossen sein [SWS_PER_00337]. Andernfalls schlägt der Aufruf mit PerErrc::kResourceBusy fehl. Derselbe Fehler wird gemeldet, wenn zeitgleich [SWS_PER_00111] (DeleteFile) oder [SWS_PER_00338] (ResetFile) für denselben Dateinamen ausgeführt wird [SWS_PER_00337].

Fehlerbehandlung

Die Funktion gibt ein ara::core::Result<void> zurück [SWS_PER_00337]. Neben PerErrc::kResourceBusy können folgende standardisierte Fehler auftreten:

  • PerErrc::kFileNotFound: Die angegebene Datei existiert nicht im Dateispeicher [SWS_PER_00337].
  • PerErrc::kPhysicalStorageFailure: Der Zugriff auf das physische Speichermedium schlägt fehl [SWS_PER_00337].
  • PerErrc::kOutOfStorageSpace: Der verfügbare physische Speicherplatz reicht für die wiederhergestellte Datei nicht aus [SWS_PER_00337].
  • PerErrc::kQuotaExceeded: Die wiederhergestellte Datei würde das konfigurierte Limit maximumAllowedSize überschreiten [SWS_PER_00337].
  • PerErrc::kEncryptionFailed und PerErrc::kAuthenticationFailed: Die kryptografische Entschlüsselung oder die MAC-Validierung der gespeicherten Daten ist fehlgeschlagen [SWS_PER_00337].

Dieser Nutzungshinweis wurde automatisiert auf Basis der Spezifikation AUTOSAR R25-11 generiert.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical no_rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured 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::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kResourceBusyrollback_semantics Returned if the file is open, or if DeleteFile or ResetFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the recovered file.
PerErrc::kFileNotFoundrollback_semantics Returned if the provided file does not exist in the File Storage.
PerErrc::kQuotaExceededrollback_semantics Returned if the recovered file would exceed the configured maximumAllowedSize 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_00337
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00337@rel:R25-11#197d8662
Content hash
197d8662
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00337
Status: valid/unmigrated Version: rel:R25-11#bc734b10 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_00337@rel:R25-11#bc734b10
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#197d86622026-09-30
  • R19-11rel:R19-11#c81267f62026-10-14
  • R20-11rel:R20-11#e1325f5e2026-10-14
  • R21-11rel:R21-11#7b0aeab52026-10-14
  • R22-11rel:R22-11#55f9192b2026-10-14
  • R23-11rel:R23-11#44af99602026-10-14
  • R24-11rel:R24-11#b7a26e732026-10-14
  • R25-11rel:R25-11#bc734b102026-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

function ResetFile [SWS_PER_00338] Upstream: RS_PER_00001, RS_PER_00004, RS_PER_00009, 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 > ResetFile (ara::core::StringView fileName) noexcept;

Resets a file of this File Storage to its initial content. ResetFile allows to reset a single file to its initial content. If the file is currently not available in the File Storage, it is re-created. Afterwards, the file will appear in both cases as if it was newly installed from the current Target Configuration. It will fail with kResourceBusy when the file is currently open, and with kInitValueNotAvailable when neither Application Design nor Target Configuration define an initial content for the file.

KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: 16bebc8c99d8 Herkunft
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Die synchrone Methode ResetFile der Klasse ara::per::FileStorage setzt eine einzelne Datei auf ihren vorkonfigurierten Ausgangszustand zurück [SWS_PER_00338]. Ist die über fileName spezifizierte Datei im Speicher noch nicht vorhanden, wird sie neu angelegt [SWS_PER_00338]. In beiden Fällen besitzt die Datei danach denselben Inhalt wie nach einer Neuinstallation aus der aktuellen Target Configuration [SWS_PER_00338]; ihr Änderungszustand wird in FileModificationState als kModifiedDuringReset geführt [SWS_PER_00436].

Die Operation ist threadsicher sowie ausnahmesicher und liefert synchron ein ara::core::Result<void> zurück [SWS_PER_00338]. Sie schlägt mit PerErrc::kResourceBusy fehl, wenn die Datei gegenwärtig geöffnet ist – etwa über [SWS_PER_00113] – oder zeitgleich eine Ausführung von [SWS_PER_00111] oder [SWS_PER_00337] mit demselben Dateinamen stattfindet [SWS_PER_00338].

Zudem definiert die Schnittstelle spezifische Fehlerfälle [SWS_PER_00338]:

  • PerErrc::kInitValueNotAvailable: Es ist weder im Application Design noch in der Target Configuration ein Anfangswert konfiguriert [SWS_PER_00338].
  • PerErrc::kQuotaExceeded oder PerErrc::kTooManyFiles: Die wiederhergestellte Datei würde das Limit AllowedSize oder maxNumberOfFiles überschreiten [SWS_PER_00338].
  • PerErrc::kOutOfStorageSpace oder StorageFailure: Der physische Speicherplatz reicht nicht aus oder der physische Zugriff schlägt fehl [SWS_PER_00338].
  • PerErrc::kEncryptionFailed oder PerErrc::kAuthenticationFailed: Die Ver- bzw. Entschlüsselung oder die MAC-Prüfung der gespeicherten Daten schlägt fehl [SWS_PER_00338].

Dieser Verwendungshinweis wurde von einer KI erstellt und basiert auf der Spezifikation AUTOSAR Adaptive R25-11.

Implementer's Guide folgt (Komplexität I2)

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
Exception-Sicherheitexception safe
Thread-Sicherheitthread-safe PerErrc::kPhysical no_rollback_semantics

Parameter (in)

ParameterBeschreibung
fileNameFile name of the file. May correspond to the PersistencyFile.file Name of a configured 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::kEncryptionFailedrollback_semantics Returned if the encryption or decryption of stored data fails.
PerErrc::kInitValueNotAvailablerollback_semantics Returned if no intitial value was configured for this file.
PerErrc::kResourceBusyrollback_semantics Returned if the file is open, or if DeleteFile or RecoverFile with the same file name is currently being executed.
PerErrc::kOutOfStorageSpaceno_rollback_semantics Returned if the available physical storage space is insufficient for the initial file.
PerErrc::kTooManyFilesrollback_semantics Returned if the number of files would get larger than the configured maxNumberOfFiles when the file is restored.
PerErrc::kQuotaExceededrollback_semantics Returned if the initial 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_00338
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00338@rel:R25-11#e0bc7dbf
Content hash
e0bc7dbf
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00338
Status: valid/unmigrated Version: rel:R25-11#0e854863 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_00338@rel:R25-11#0e854863
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#e0bc7dbf2026-09-30
  • R19-11rel:R19-11#374792432026-10-14
  • R20-11rel:R20-11#447c2e0a2026-10-14
  • R21-11rel:R21-11#3249eca82026-10-14
  • R22-11rel:R22-11#5318b4ac2026-10-14
  • R23-11rel:R23-11#7d4afee22026-10-14
  • R24-11rel:R24-11#e91250742026-10-14
  • R25-11rel:R25-11#0e8548632026-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

function operator= [SWS_PER_00327] Upstream: RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_AP_00121, RS_AP_00145, RS_AP_00159

FileStorage & operator= (FileStorage &&fs)=delete;

The move assignment operator for FileStorage shall not be used.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00327
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00327@rel:R25-11#d0dd99c8
Content hash
d0dd99c8
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00327
Status: valid/unmigrated Version: rel:R25-11#cfa00f65 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_00327@rel:R25-11#cfa00f65
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#d0dd99c82026-09-30
  • R19-11rel:R19-11#c719ee8c2026-10-14
  • R20-11rel:R20-11#dbca66992026-10-14
  • R21-11rel:R21-11#b28a2eda2026-10-14
  • R22-11rel:R22-11#07630f652026-10-14
  • R23-11rel:R23-11#61a2cece2026-10-14
  • R24-11rel:R24-11#cfa00f652026-10-14
  • R25-11rel:R25-11#cfa00f652026-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

function operator= [SWS_PER_00329] Upstream: RS_PER_00004, RS_AP_00119, RS_AP_00120, RS_AP_00145

FileStorage & operator= (const FileStorage &)=delete;

The copy assignment operator for FileStorage shall not be used.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage

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

Record
AUTOSAR/AP/record/SWS_PER_00329
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00329@rel:R25-11#24fb3610
Content hash
24fb3610
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00329
Status: valid/unmigrated Version: rel:R25-11#b7444c9a 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_00329@rel:R25-11#b7444c9a
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#24fb36102026-09-30
  • R19-11rel:R19-11#08d210462026-10-14
  • R20-11rel:R20-11#b39d46862026-10-14
  • R21-11rel:R21-11#b39d46862026-10-14
  • R22-11rel:R22-11#8e424eeb2026-10-14
  • R23-11rel:R23-11#9211a8ba2026-10-14
  • R24-11rel:R24-11#b7444c9a2026-10-14
  • R25-11rel:R25-11#b7444c9a2026-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

function ~FileStorage [SWS_PER_00330] Upstream: RS_PER_00004, RS_AP_00120, RS_AP_00129, RS_AP_00134, RS_AP_00145, RS_AP_00159

~FileStorage () noexcept;

Destructor for FileStorage.

Header-Datei#include "ara/per/file_storage.h"
Scopeclass ara::per::FileStorage
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_00330
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_PER_00330@rel:R25-11#a5246726
Content hash
a5246726
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Persistency.pdf#nameddest=SWS_PER_00330
Status: valid/unmigrated Version: rel:R25-11#406daa83 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_00330@rel:R25-11#406daa83
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#a52467262026-09-30
  • R19-11rel:R19-11#f78017fc2026-10-14
  • R20-11rel:R20-11#0c5e9d812026-10-14
  • R21-11rel:R21-11#0c5e9d812026-10-14
  • R22-11rel:R22-11#888777422026-10-14
  • R23-11rel:R23-11#83343bdb2026-10-14
  • R24-11rel:R24-11#406daa832026-10-14
  • R25-11rel:R25-11#406daa832026-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