DEENESPTFRRUARHIKOZHNL

struct ara::diag::FileTransferService::FileSizes

[SWS_DM_01321] Upstream: RS_Diag_04135

struct FileSizes {...};

Definition of total file sizes.

Header-Datei#include "ara/diag/file_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::FileTransferService

User GuideKI-GENERIERT

Dient der Kapselung von komprimierten und unkomprimierten Dateigrößen in Bytes bei Dateiübertragungsdiensten.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: a9f49ae913f1 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Dient der Kapselung von komprimierten und unkomprimierten Dateigrößen in Bytes bei Dateiübertragungsdiensten.

Die Struktur ara::diag::FileTransferService::FileSizes dient als standardisiertes Wert-Objekt zur Kapselung von Dateigrößenangaben innerhalb des Diagnosemoduls der AUTOSAR Adaptive Platform [SWS_DM_01321]. Sie bündelt die unkomprimierte sowie die komprimierte Bytegröße einer Datei in zwei öffentlichen 64-Bit-Ganzzahlvariablen zur Vorbereitung und Überwachung von Übertragungsoperationen [SWS_DM_01322]. Als passiver Datensatz besitzt die Struktur weder eigene Methoden noch interne Fehlerbehandlungen, sodass die Plausibilitätsprüfung der übergebenen Werte sowie die Thread-Sicherheit durch die aufrufenden Komponenten sichergestellt werden müssen.

Kontext

Die Struktur ara::diag::FileTransferService::FileSizes ist ein integraler Bestandteil des Diagnosemoduls (diag) in der AUTOSAR Adaptive Platform [SWS_DM_01321]. Innerhalb des Namensraums des übergeordneten Dienstes ara::diag::FileTransferService definiert sie ein kompaktes Datenmodell zur Repräsentation vollständiger Dateigrößenangaben AUTOSAR_AP_SWS_Diagnostics §8.18.2 „Struct: FileSizes“. Deklariert wird der Typ über die Header-Datei ara/diag/file_transfer.h [SWS_DM_01322]. Ihre primäre Verantwortung besteht darin, die für Dateiübertragungsoperationen relevanten Größeninformationen in einer einheitlichen Datenstruktur zu bündeln, sodass interagierende Plattform- und Applikationskomponenten Dateigrößen konsistent austauschen können AUTOSAR_AP_SWS_Diagnostics S. 1126.

Fachlich erfasst die Datenstruktur zwei distinkte Größenangaben: die unkomprimierte Gesamtgröße einer Datei über das Element uncompressed_size [SWS_DM_01322] sowie die komprimierte Gesamtgröße über das Element compressed_size [SWS_DM_01323]. Beide Werte werden als vorzeichenlose 64-Bit-Ganzzahlen (std::uint64_t) in der Maßeinheit Byte geführt. Dadurch fungiert FileSizes als semantischer Informationsträger zwischen Diagnose-Clients, dem Diagnose-Management und den konkreten Dienstanbietern, die Dateiübertragungen auf der adaptiven Plattform abwickeln.

Lebenszyklus

Die Struktur ara::diag::FileTransferService::FileSizes ist als reiner Datensatz (Value Object) ohne eigene virtuelle Methoden oder komplexe Vererbungshierarchien modelliert AUTOSAR_AP_SWS_Diagnostics §8.18.2.1 „Public Member Variables“. Die Erzeugung erfolgt typischerweise direkt auf dem Aufruf-Stack oder als Member einer übergeordneten Datenstruktur. Da ausschließlich Standard-Ganzzahltypen enthalten sind, dürfte die Struktur standardmäßig sowohl kopierbar als auch verschiebbar sein und keine dynamische Speicherverwaltung auf dem Heap erfordern. Frage Q-f9c6e76fc8c62463 (offen)

Besitzverhältnisse richten sich nach dem jeweiligen Nutzungskontext: Wird eine Instanz von einer Diagnoseanwendung erstellt, verbleibt der Besitz bei dieser Anwendung oder geht durch Wertübergabe (Pass-by-Value) an aufgerufene Schnittstellenfunktionen über. Die Zerstörung der Instanz ist trivial und vollzieht sich automatisch mit dem Verlassen des Gültigkeitsbereichs (Scope) ohne zusätzliche Bereinigungslogik. Da der Typ keine internen Synchronisationsmechanismen vorsieht, obliegt die koordinierte und thread-sichere Verwendung bei nebenläufigem Zugriff auf dieselbe Instanz vermutlich vollständig den beteiligten Diagnose- oder Anwendungskomponenten. Frage Q-d2e83f9098c7f8c8 (offen)

Nutzungspfad

Der typische Einsatz der Struktur gliedert sich in die Phasen der Initialisierung, der Parameterbelegung und der Weitergabe an Übertragungsroutinen des FileTransferService [SWS_DM_01321]. In einem typischen Anwendungsfall ermittelt eine sendende Komponente vor Beginn einer Dateiübertragung die tatsächlichen Dateidimensionen auf dem Dateisystem oder im Speicher. Anschließend instanziiert sie FileSizes und weist den beiden öffentlichen Variablen die gemessenen Bytewerte zu:

  • uncompressed_size: Spezifiziert die absolute Größe der Originaldatei in Bytes [SWS_DM_01322].
  • compressed_size: Spezifiziert die komprimierte Größe des zu übertragenden Datenstroms in Bytes [SWS_DM_01323].

Wird eine Datei ohne vorherige Komprimierung übertragen, dürften compressed_size und uncompressed_size vermutlich identische Werte tragen. Frage Q-1edcb924fd5932ee (offen) Nach der Initialisierung wird die Struktur an die entsprechenden Methoden des Dateitransfers übergeben, damit Gegenstellen den Speicherbedarf vorab allozieren und den Übertragungsfortschritt exakt überwachen können AUTOSAR_AP_SWS_Diagnostics S. 77.

Fehlerszenarien

In der Spezifikation von ara::diag::FileTransferService::FileSizes sind keine eigenen diagnostischen Fehlercodes, Rückgabewerte oder Ausnahmen definiert AUTOSAR_AP_SWS_Diagnostics §8.18.2 „Struct: FileSizes“. Als passiver Datentyp löst die Struktur selbst keine Fehlermeldungen aus und validiert die eingetragenen Werte nicht zur Laufzeit.

Fehlerpotenziale ergeben sich vor allem aus fehlerhaften Vor- und Nachbedingungen bei der Parameterbefüllung. Durch den Typ std::uint64_t können Werte bis zu $2^{64}-1$ Bytes abgebildet werden [SWS_DM_01322], [SWS_DM_01323]. Sollte eine Komponente unplausible Größen übergeben – beispielsweise einen Wert von null Bytes für vorhandene Dateien oder eine komprimierte Größe, die ohne plausible Erklärung die unkomprimierte Größe drastisch übersteigt –, muss dies durch die vor- oder nachgelagerte Verarbeitungslogik des FileTransferService abgefangen werden. Auch ein Überlauf des verfügbaren Zielspeichers stellt ein übergeordnetes Fehlerszenario dar, das anhand der in FileSizes übermittelten Bytewerte vor Beginn des Datentransfers erkannt werden muss.

Dieser Klassen-Leitfaden basiert auf der Spezifikation AUTOSAR Adaptive Platform R25-11 (Modul diag) und wurde für autodocs erstellt.

UML-Klassendiagramm

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

G nara__diag__FileTransferService__FileSizes857 «struct» FileSizes + compressed_size + uncompressed_size

Konstanten

Specifies the compressed file size in bytes.

std::uint64_t compressed_size;

Specifies the uncompressed file size in bytes.

std::uint64_t uncompressed_size;

Dokumentation der Konstanten / Variablen

variable compressed_size [SWS_DM_01323] Upstream: RS_Diag_04135

std::uint64_t compressed_size;

Specifies the compressed file size in bytes.

Header-Datei#include "ara/diag/file_transfer.h"
Scopestruct ara::diag::FileTransferService::FileSizes
Symbolcompressed_size
Typstd::uint64_t

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

Record
AUTOSAR/AP/record/SWS_DM_01323
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01323@rel:R25-11#e096074a
Content hash
e096074a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01323
Status: valid/unmigrated Version: rel:R25-11#6febc963 Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01323@rel:R25-11#6febc963
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e096074a2026-09-30
  • R22-11rel:R22-11#4f01daa22026-10-14
  • R23-11rel:R23-11#7011a9a42026-10-14
  • R24-11rel:R24-11#7011a9a42026-10-14
  • R25-11rel:R25-11#6febc9632026-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

variable uncompressed_size [SWS_DM_01322] Upstream: RS_Diag_04135

std::uint64_t uncompressed_size;

Specifies the uncompressed file size in bytes.

Header-Datei#include "ara/diag/file_transfer.h"
Scopestruct ara::diag::FileTransferService::FileSizes
Symboluncompressed_size
Typstd::uint64_t

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

Record
AUTOSAR/AP/record/SWS_DM_01322
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01322@rel:R25-11#e266e40a
Content hash
e266e40a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01322
Status: valid/unmigrated Version: rel:R25-11#803a2562 Versionshistorie & Revisions (1 transition, 5 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_DM_01322@rel:R25-11#803a2562
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e266e40a2026-09-30
  • R22-11rel:R22-11#3c01ce6e2026-10-14
  • R23-11rel:R23-11#e0a2616f2026-10-14
  • R24-11rel:R24-11#e0a2616f2026-10-14
  • R25-11rel:R25-11#803a25622026-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