DEENESPTFRRUARHIKOZHNL

structure 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

Guide utilisateurGÉNÉRÉ PAR IA

Sert à encapsuler les tailles de fichier compressées et non compressées en octets lors des services de transfert de fichiers.
GÉNÉRÉ PAR IA non vérifié Modèle : gemini-3.8-flash-medium · Effort : medium · Température : non réglable · Prompt : a9f49ae913f1 Provenance Questions ouvertes (3)
traduit du guide allemandgemini-3.8-flash-low · 2026-10-13 · Original allemand

Sert à encapsuler les tailles de fichier compressées et non compressées en octets lors des services de transfert de fichiers.

La structure ara::diag::FileTransferService::FileSizes sert d'objet-valeur standardisé pour encapsuler les indications de taille de fichier au sein du module de diagnostic de l'AUTOSAR Adaptive Platform [SWS_DM_01321]. Elle regroupe la taille en octets non compressée ainsi que compressée d'un fichier dans deux variables entières 64 bits publiques en vue de la préparation et de la surveillance des opérations de transfert [SWS_DM_01322]. En tant qu'enregistrement de données passif, la structure ne possède ni méthodes propres ni traitement interne des erreurs, de sorte que le contrôle de plausibilité des valeurs transmises ainsi que la sécurité des threads doivent être assurés par les composants appelants.

Contexte

La structure ara::diag::FileTransferService::FileSizes est une partie intégrante du module de diagnostic (diag) dans l'AUTOSAR Adaptive Platform [SWS_DM_01321]. Au sein de l'espace de noms du service de niveau supérieur ara::diag::FileTransferService, elle définit un modèle de données compact pour la représentation d'indications complètes de taille de fichier AUTOSAR_AP_SWS_Diagnostics §8.18.2 « Struct: FileSizes ». Le type est déclaré via le fichier d'en-tête ara/diag/file_transfer.h [SWS_DM_01322]. Sa responsabilité première consiste à regrouper les informations de taille pertinentes pour les opérations de transfert de fichiers dans une structure de données unifiée, de sorte que les composants de plateforme et d'application en interaction puissent échanger les tailles de fichier de manière cohérente AUTOSAR_AP_SWS_Diagnostics p. 1126.

Sur le plan fonctionnel, la structure de données saisit deux indications de taille distinctes : la taille totale non compressée d'un fichier via l'élément uncompressed_size [SWS_DM_01322] ainsi que la taille totale compressée via l'élément compressed_size [SWS_DM_01323]. Les deux valeurs sont gérées sous forme d'entiers non signés de 64 bits (std::uint64_t) dans l'unité de mesure octet. Ainsi, FileSizes sert de vecteur d'informations sémantique entre les clients de diagnostic, le Diagnostic Management et les fournisseurs de services concrets qui gèrent les transferts de fichiers sur la plateforme adaptative.

Cycle de vie

La structure ara::diag::FileTransferService::FileSizes est modélisée comme un simple enregistrement de données (Value Object) sans méthodes virtuelles propres ni hiérarchies d'héritage complexes AUTOSAR_AP_SWS_Diagnostics §8.18.2.1 « Public Member Variables ». La création s'effectue typiquement directement sur la pile d'appels ou en tant que membre d'une structure de données de niveau supérieur. Comme elle ne contient que des types entiers standards, la structure devrait être par défaut aussi bien copiable que déplaçable, et ne requérir aucune gestion dynamique de la mémoire sur le tas (heap). Question Q-f9c6e76fc8c62463 (ouverte)

Les relations de propriété dépendent du contexte d'utilisation respectif : si une instance est créée par une application de diagnostic, la propriété reste auprès de cette application ou est transférée par passage par valeur (pass-by-value) aux fonctions d'interface appelées. La destruction de l'instance est triviale et s'effectue automatiquement avec la sortie de la portée (scope) sans logique de nettoyage supplémentaire. Comme le type ne prévoit aucun mécanisme interne de synchronisation, l'utilisation coordonnée et thread-safe en cas d'accès concurrent à une même instance incombe probablement entièrement aux composants de diagnostic ou d'application impliqués. Question Q-d2e83f9098c7f8c8 (ouverte)

Parcours d'utilisation

L'utilisation typique de la structure se divise en phases d'initialisation, d'affectation des paramètres et de transmission aux routines de transfert du FileTransferService [SWS_DM_01321]. Dans un cas d'utilisation typique, un composant émetteur détermine les dimensions réelles du fichier sur le système de fichiers ou en mémoire avant le début d'un transfert de fichier. Ensuite, il instancie FileSizes et affecte les valeurs en octets mesurées aux deux variables publiques :

  • uncompressed_size : spécifie la taille absolue du fichier d'origine en octets [SWS_DM_01322].
  • compressed_size : spécifie la taille compressée du flux de données à transférer en octets [SWS_DM_01323].

Si un fichier est transféré sans compression préalable, compressed_size et uncompressed_size devraient vraisemblablement porter des valeurs identiques. Question Q-1edcb924fd5932ee (ouverte) Après l'initialisation, la structure est transmise aux méthodes correspondantes du transfert de fichiers afin que les systèmes distants puissent allouer au préalable l'espace mémoire requis et surveiller avec précision la progression du transfert AUTOSAR_AP_SWS_Diagnostics p. 77.

Scénarios d'erreur

Aucun code d'erreur de diagnostic propre, valeur de retour ou exception n'est défini dans la spécification de ara::diag::FileTransferService::FileSizes AUTOSAR_AP_SWS_Diagnostics §8.18.2 « Struct: FileSizes ». En tant que type de données passif, la structure ne déclenche elle-même aucun message d'erreur et ne valide pas les valeurs enregistrées au moment de l'exécution.

Les risques d'erreur résultent principalement de préconditions et de postconditions incorrectes lors du renseignement des paramètres. Grâce au type std::uint64_t, des valeurs allant jusqu'à $2^{64}-1$ octets peuvent être représentées [SWS_DM_01322], [SWS_DM_01323]. Si un composant venait à transmettre des tailles non plausibles — par exemple une valeur de zéro octet pour des fichiers existants ou une taille compressée dépassant considérablement la taille non compressée sans explication plausible —, cela doit être intercepté par la logique de traitement en amont ou en aval du FileTransferService. Un dépassement de la mémoire cible disponible constitue également un scénario d'erreur de niveau supérieur, qui doit être détecté avant le début du transfert de données à partir des valeurs en octets transmises dans FileSizes.

Ce guide de classe est basé sur la spécification AUTOSAR Adaptive Platform R25-11 (module diag) et a été rédigé pour autodocs.

Diagramme de classes UML

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

G nara__diag__FileTransferService__FileSizes857 «struct» FileSizes + compressed_size + uncompressed_size

Constantes

Specifies the compressed file size in bytes.

std::uint64_t compressed_size;

Specifies the uncompressed file size in bytes.

std::uint64_t uncompressed_size;

Documentation des constantes / variables

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