DEENESPTFRRUARHIKOZHNL

classe ara::diag::DataTransferReadSession

[SWS_DM_01548] Upstream: RS_Diag_04135

class DataTransferReadSession final {...};

Encapsulates all data transfer reading variants.

Header-Datei#include "ara/diag/data_transfer.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Guia do utilizadorGERADO POR IA

Encapsula transferências de leitura ativas baseadas em diagnóstico e encaminha transferências de dados recebidas para handlers registrados.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 9db606b147f6 Procedência Perguntas em aberto (2)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Encapsula transferências de leitura ativas baseadas em diagnóstico e encaminha transferências de dados recebidas para handlers registrados.

A classe serve para o encapsulamento e gerenciamento estruturado de todas as variantes de transferências de leitura baseadas em diagnóstico dentro do módulo de diagnóstico do AUTOSAR Adaptive de acordo com [SWS_DM_01548]. Após o início bem-sucedido de uma operação de leitura, a instância do servidor de diagnóstico delega requisições recebidas para a transferência sequencial de blocos de dados, bem como para o encerramento da sessão, aos métodos registrados do handler de leitura [SWS_DM_01317]. Por meio da desativação intencional de operações de cópia aliada ao suporte à semântica de movimentação, a classe assegura uma atribuição de posse inequívoca da sessão de transferência subjacente.

Contexto

A classe ara::diag::DataTransferReadSession representa o encapsulamento de todas as variantes para a leitura de blocos de dados assistida por diagnóstico no módulo de diagnóstico adaptativo [SWS_DM_01548]. No âmbito de serviços UDS padronizados, tais como RequestFileTransfer (0x38), TransferData (0x36) e RequestTransferExit (0x37), a classe de sessão atua como elo de ligação entre o ambiente de execução interno do servidor de diagnóstico e os handlers de leitura específicos da aplicação SWS Diagnostics §7 «Realization of TransferData and RequestTransferExit». Ela assegura que operações de leitura em andamento – por exemplo, para arquivos via ReadFile [SWS_DM_01314] ou diretórios via ReadDir [SWS_DM_01315] – sejam gerenciadas de forma isolada e encaminhadas para os handlers associados.

DataTransferReadSessionContext client Diagnose-Client (Tester) server Diagnostic Server (ara::diag) client->server UDS RequestFileTransfer TransferData / Exit session ara::diag::DataTransferReadSession (Transfersitzung) server->session verwaltet Lesesitzung handler Lese-Handler (Applikation) session->handler delegiert Read() / Exit()

Diagrama de contexto: Integração de DataTransferReadSession entre o servidor de diagnóstico e o handler da aplicação. Fontes: [SWS_DM_01317], [SWS_DM_01318], SWS Diagnostics §7 «Realization of TransferData and RequestTransferExit»

Ciclo de vida

Uma instância de ara::diag::DataTransferReadSession possui um tempo de vida estritamente vinculado à sessão de transferência. A criação por meio de um construtor padrão é explicitamente proibida [SWS_DM_01549]. Em vez disso, a sessão é inicializada por meio de construtores de modelo especializados, os quais registram os manipuladores específicos da aplicação SWS Diagnostics §7 «Realization of TransferData and RequestTransferExit». Na prática, a instanciação deve ocorrer tipicamente pelo servidor de diagnóstico ou pelo manipulador de serviço na iniciação da transferência de arquivos. Pergunta Q-b0706bcd28c702c6 (aberta)

Para excluir alocações múltiplas ou estados de sessão inconsistentes, ara::diag::DataTransferReadSession foi concebido como uma instância única não copiável: tanto o construtor de cópia [SWS_DM_01553] quanto o operador de atribuição por cópia [SWS_DM_01554] foram excluídos (=delete). A transferência de propriedade está prevista exclusivamente por meio de semântica de movimento. O construtor de movimento [SWS_DM_01551] e o operador de atribuição por movimento [SWS_DM_01552] são definidos como noexcept=default. A destruição ocorre de forma determinística por meio do destrutor [SWS_DM_01550], que também é declarado como noexcept=default. Presume-se que a conclusão da transferência via RequestTransferExit leve à liberação do objeto. Pergunta Q-c1999fd1f283a007 (aberta)

Caminho de utilização

O fluxo típico de uma sessão de transferência de leitura divide-se em três fases sucessivas:

  • Inicialização: Um cliente de diagnóstico externo envia RequestFileTransfer com um modo de leitura como ReadFile (0x04) [SWS_DM_01314] ou ReadDir (0x05) [SWS_DM_01315]. Com isso, a instância da sessão é criada e o manipulador de leitura é registrado.
  • Transferência de dados: O servidor de diagnóstico processa requisições de diagnóstico recebidas do tipo TransferData (0x36), chamando o método Read correspondente do manipulador registrado por meio dos construtores de modelo [SWS_DM_01317]. Isso ocorre iterativamente para cada bloco de dados requisitado.
  • Conclusão: Assim que todos os dados tiverem sido transmitidos, o cliente envia RequestTransferExit (0x37). O servidor de diagnóstico chama em seguida o método Exit do manipulador registrado para encerrar devidamente o procedimento de leitura [SWS_DM_01318].
Sequência de uma transferência de leitura baseada em arquivosCliente de diagnósticoDiagnostic ServerDataTransferReadSessionRequestFileTransfer (0x38)ReadFile / ReadDirInitialisierung viaTemplate-KonstruktorPositiv-Response (0x78)loopEnquanto blocos de dados estiverem sendo transmitidosTransferData (0x36)Read()Gelesene BlockdatenTransferData Positiv-ResponseRequestTransferExit (0x37)Exit()Confirmação de conclusãoRequestTransferExit Response

Diagrama de sequência: sequência de chamadas de uma transferência de leitura UDS com entrega à sessão registrada. Fontes: [SWS_DM_01314], [SWS_DM_01315], [SWS_DM_01317], [SWS_DM_01318]

Cenários de erro

Como ara::diag::DataTransferReadSession é declarado como final e o construtor padrão [SWS_DM_01549] não existe, uma criação incorreta sem manipulador registrado é impedida já em tempo de compilação. Da mesma forma, as operações de cópia excluídas [SWS_DM_01553] evitam a duplicação acidental de estados de sessão. Tanto a construção por movimento quanto a atribuição por movimento e a destruição garantem total segurança contra exceções por meio de sua especificação noexcept [SWS_DM_01551] [SWS_DM_01550]. Se o fornecimento de blocos de dados no manipulador falhar, isso será tratado no nível do protocolo no âmbito da comunicação UDS.

Este guia baseia-se na especificação AUTOSAR Adaptive Platform R25-11 (módulo diag) e resume os requisitos para ara::diag::DataTransferReadSession.

Mapa de membros

Diagrama de classes

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

G nara__diag__DataTransferReadSession318 DataTransferReadSession + DataTransferReadSession() + ~DataTransferReadSession() + operator=()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

No default construction allowed.

Sobrecargas DataTransferReadSession 3
DataTransferReadSession ()=delete; SWS_DM_01549
DataTransferReadSession (DataTransferReadSession &&other) noexcept=default; SWS_DM_01551
DataTransferReadSession (DataTransferReadSession const &)=delete; SWS_DM_01553

Destructs an instance of this class.

~DataTransferReadSession () noexcept=default;

Operadores

operator= função 2

Move assigns an instance of this class.

Sobrecargas = 2
auto operator= (DataTransferReadSession &&other) & noexcept -> Data TransferReadSession & =default; SWS_DM_01552
auto operator= (DataTransferReadSession const &) -> DataTransferRead Session &=delete; SWS_DM_01554

Documentação dos métodos

função DataTransferReadSession [SWS_DM_01549] Upstream: RS_Diag_04135

DataTransferReadSession ()=delete;

No default construction allowed.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession

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

Record
AUTOSAR/AP/record/SWS_DM_01549
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01549@rel:R25-11#c792487d
Content hash
c792487d
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01549
Status: valid/unmigrated Version: rel:R25-11#b12b963b 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_01549@rel:R25-11#b12b963b
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c4cbcc0b2026-09-30
  • R22-11rel:R22-11#99668fac2026-10-14
  • R23-11rel:R23-11#f616e79a2026-10-14
  • R24-11rel:R24-11#b12b963b2026-10-14
  • R25-11rel:R25-11#b12b963b2026-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

função DataTransferReadSession [SWS_DM_01551] Upstream: RS_Diag_04135

DataTransferReadSession (DataTransferReadSession &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

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

Record
AUTOSAR/AP/record/SWS_DM_01551
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01551@rel:R25-11#7e6f1253
Content hash
7e6f1253
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01551
Status: valid/unmigrated Version: rel:R25-11#9d8ef11f 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_01551@rel:R25-11#9d8ef11f
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#21edf1762026-09-30
  • R22-11rel:R22-11#313c13512026-10-14
  • R23-11rel:R23-11#ab0c46e72026-10-14
  • R24-11rel:R24-11#5b475da32026-10-14
  • R25-11rel:R25-11#9d8ef11f2026-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

função DataTransferReadSession [SWS_DM_01553] Upstream: RS_Diag_04135

DataTransferReadSession (DataTransferReadSession const &)=delete;

DataTransferReadSession shall be a single not copy-able instance.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession

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

Record
AUTOSAR/AP/record/SWS_DM_01553
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01553@rel:R25-11#28575284
Content hash
28575284
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01553
Status: valid/unmigrated Version: rel:R25-11#fbc13491 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_01553@rel:R25-11#fbc13491
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#a630ea6c2026-09-30
  • R22-11rel:R22-11#35a6d77b2026-10-14
  • R23-11rel:R23-11#c1d834202026-10-14
  • R24-11rel:R24-11#6803928e2026-10-14
  • R25-11rel:R25-11#fbc134912026-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

função operator= [SWS_DM_01552] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSession &&other) & noexcept -> Data TransferReadSession & =default;

Move assigns an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession
Exception-Sicherheitexception safe

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadSessionReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01552
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01552@rel:R25-11#4ab107ab
Content hash
4ab107ab
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01552
Status: valid/unmigrated Version: rel:R25-11#d99670ce 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_01552@rel:R25-11#d99670ce
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#457fd3d02026-09-30
  • R22-11rel:R22-11#85ce121e2026-10-14
  • R23-11rel:R23-11#e7bc25f92026-10-14
  • R24-11rel:R24-11#826c7d1b2026-10-14
  • R25-11rel:R25-11#d99670ce2026-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

função operator= [SWS_DM_01554] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSession const &) -> DataTransferRead Session &=delete;

DataTransferReadSession shall be a single not assign-able instance.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession

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

Record
AUTOSAR/AP/record/SWS_DM_01554
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01554@rel:R25-11#b2e3946e
Content hash
b2e3946e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01554
Status: valid/unmigrated Version: rel:R25-11#8d7ab93b 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_01554@rel:R25-11#8d7ab93b
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#a2fa062f2026-09-30
  • R22-11rel:R22-11#609b1c622026-10-14
  • R23-11rel:R23-11#22a9c8aa2026-10-14
  • R24-11rel:R24-11#c9a88d712026-10-14
  • R25-11rel:R25-11#8d7ab93b2026-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

função ~DataTransferReadSession [SWS_DM_01550] Upstream: RS_Diag_04135

~DataTransferReadSession () noexcept=default;

Destructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSession
Exception-Sicherheitexception safe

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

Record
AUTOSAR/AP/record/SWS_DM_01550
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01550@rel:R25-11#762d00af
Content hash
762d00af
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01550
Status: valid/unmigrated Version: rel:R25-11#0b5bb2a2 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_01550@rel:R25-11#0b5bb2a2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d3c560642026-09-30
  • R22-11rel:R22-11#18bafff82026-10-14
  • R23-11rel:R23-11#bfe91d802026-10-14
  • R24-11rel:R24-11#94e05f472026-10-14
  • R25-11rel:R25-11#0b5bb2a22026-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