DEENESPTFRRUARHIKOZHNL

estrutura 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

Guia do utilizadorGERADO POR IA

Serve ao encapsulamento de tamanhos de arquivo compactados e não compactados em bytes em serviços de transferência de arquivos.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: a9f49ae913f1 Procedência Perguntas em aberto (3)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Serve ao encapsulamento de tamanhos de arquivo compactados e não compactados em bytes em serviços de transferência de arquivos.

A estrutura ara::diag::FileTransferService::FileSizes serve como objeto de valor padronizado para o encapsulamento de informações de tamanho de arquivo no módulo de diagnóstico da AUTOSAR Adaptive Platform [SWS_DM_01321]. Ela reúne o tamanho em bytes não compactado e o compactado de um arquivo em duas variáveis públicas de número inteiro de 64 bits para a preparação e o monitoramento de operações de transferência [SWS_DM_01322]. Como registro de dados passivo, a estrutura não possui métodos próprios nem tratamentos de erro internos, de modo que a verificação de plausibilidade dos valores passados e a segurança de threads devem ser asseguradas pelos componentes chamadores.

Contexto

A estrutura ara::diag::FileTransferService::FileSizes é parte integrante do módulo de diagnóstico (diag) na AUTOSAR Adaptive Platform [SWS_DM_01321]. Dentro do namespace do serviço de nível superior ara::diag::FileTransferService, ela define um modelo de dados compacto para a representação de indicações completas de tamanho de arquivo AUTOSAR_AP_SWS_Diagnostics §8.18.2 «Struct: FileSizes». O tipo é declarado por meio do arquivo de cabeçalho ara/diag/file_transfer.h [SWS_DM_01322]. Sua responsabilidade primária consiste em agrupar as informações de tamanho relevantes para operações de transferência de arquivos em uma estrutura de dados uniforme, permitindo que componentes da plataforma e da aplicação interajam e troquem tamanhos de arquivos de maneira consistente AUTOSAR_AP_SWS_Diagnostics p. 1126.

Em termos funcionais, a estrutura de dados registra duas indicações de tamanho distintas: o tamanho total não compactado de um arquivo por meio do elemento uncompressed_size [SWS_DM_01322], bem como o tamanho total compactado por meio do elemento compressed_size [SWS_DM_01323]. Ambos os valores são mantidos como inteiros sem sinal de 64 bits (std::uint64_t) na unidade de medida bytes. Com isso, FileSizes atua como portador de informação semântica entre clientes de diagnóstico, o Diagnostic Management e os provedores de serviços concretos que realizam transferências de arquivos na plataforma adaptativa.

Ciclo de vida

A estrutura ara::diag::FileTransferService::FileSizes é modelada como um registro de dados puro (Value Object) sem métodos virtuais próprios ou hierarquias complexas de herança AUTOSAR_AP_SWS_Diagnostics §8.18.2.1 «Public Member Variables». A instanciação ocorre tipicamente de forma direta na pilha de chamadas (call stack) ou como membro de uma estrutura de dados de nível superior. Como contém exclusivamente tipos inteiros padrão, a estrutura deve ser, por padrão, tanto copiável quanto transferível por movimentação (movable), não exigindo gerenciamento de memória dinâmica na heap. Pergunta Q-f9c6e76fc8c62463 (aberta)

As relações de posse dependem do respectivo contexto de uso: se uma instância for criada por uma aplicação de diagnóstico, a posse permanece com essa aplicação ou é transferida para funções de interface chamadas por meio de passagem por valor (pass-by-value). A destruição da instância é trivial e ocorre automaticamente com a saída do escopo (scope), sem lógica adicional de limpeza. Como o tipo não prevê mecanismos internos de sincronização, a utilização coordenada e segura em termos de threads no acesso concorrente à mesma instância presumivelmente cabe por completo aos componentes de diagnóstico ou de aplicação envolvidos. Pergunta Q-d2e83f9098c7f8c8 (aberta)

Caminho de utilização

O uso típico da estrutura divide-se nas fases de inicialização, atribuição de parâmetros e repasse para rotinas de transferência de FileTransferService [SWS_DM_01321]. Em um caso de uso típico, um componente remetente determina as dimensões reais do arquivo no sistema de arquivos ou na memória antes de iniciar uma transferência de arquivos. Em seguida, ele instancia FileSizes e atribui os valores em bytes medidos às duas variáveis públicas:

  • uncompressed_size: Especifica o tamanho absoluto do arquivo original em bytes [SWS_DM_01322].
  • compressed_size: Especifica o tamanho compactado do fluxo de dados a ser transmitido em bytes [SWS_DM_01323].

Se um arquivo for transmitido sem compactação prévia, compressed_size e uncompressed_size presumivelmente devem conter valores idênticos. Pergunta Q-1edcb924fd5932ee (aberta) Após a inicialização, a estrutura é passada aos respectivos métodos de transferência de arquivo para que as contrapartes possam alocar previamente a necessidade de memória e monitorar com exatidão o progresso da transferência AUTOSAR_AP_SWS_Diagnostics p. 77.

Cenários de erro

Na especificação de ara::diag::FileTransferService::FileSizes, não são definidos códigos de erro diagnósticos próprios, valores de retorno ou exceções AUTOSAR_AP_SWS_Diagnostics §8.18.2 «Struct: FileSizes». Como tipo de dados passivo, a estrutura não emite mensagens de erro por si própria nem valida os valores inseridos em tempo de execução.

Potenciais de erro decorrem principalmente de pré e pós-condições incorretas no preenchimento de parâmetros. Por meio do tipo std::uint64_t, podem ser representados valores de até $2^{64}-1$ bytes [SWS_DM_01322], [SWS_DM_01323]. Se um componente passar tamanhos implausíveis – por exemplo, um valor de zero bytes para arquivos existentes ou um tamanho compactado que, sem explicação plausível, exceda drasticamente o tamanho não compactado –, isso deve ser interceptado pela lógica de processamento a montante ou a jusante de FileTransferService. O transbordamento da memória de destino disponível também representa um cenário de erro de nível superior, o qual deve ser detectado antes do início da transferência de dados com base nos valores em bytes transmitidos em FileSizes.

Este guia de classe baseia-se na especificação AUTOSAR Adaptive Platform R25-11 (módulo diag) e foi criado para o autodocs.

Diagrama 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

compressed_size variável

Specifies the compressed file size in bytes.

std::uint64_t compressed_size;

Specifies the uncompressed file size in bytes.

std::uint64_t uncompressed_size;

Documentação das constantes / variáveis

variável 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#931ed37e
Content hash
931ed37e
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

variável 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#70fa88ee
Content hash
70fa88ee
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