DEENESPTFRRUARHIKOZHNL

classe ara::diag::DataTransferReadSharedDataHandler

[SWS_DM_01497] Upstream: RS_Diag_04135

class DataTransferReadSharedDataHandler {...};

Handles data transfers initiated by RequestReadFile/-Directory with shared data from the implementation.

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

Guia do utilizadorGERADO POR IA

Permite a leitura de arquivos ou diretórios completos por meio de áreas de memória compartilhada em solicitações de diagnóstico.
GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 4c654c39d186 Procedência Perguntas em aberto (1)
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

Permite a leitura de arquivos ou diretórios completos por meio de áreas de memória compartilhada em solicitações de diagnóstico.

A classe ara::diag::DataTransferReadSharedDataHandler destina-se ao processamento de transferências de dados de diagnóstico de leitura para conteúdos de arquivos e diretórios via memória compartilhada ([SWS_DM_01497]). Após o início da sessão, a implementação da aplicação disponibiliza a totalidade dos dados como Shared Data View via Read() e mantém o buffer alocado até a notificação de liberação pelo ReleaseHandler ([SWS_DM_01504]). Antes da destruição do objeto específico do manipulador, a sessão de transferência precisa ser obrigatoriamente concluída via ExitRead(). O objeto destina-se exclusivamente a uma única sessão de transferência e, portanto, pode ser movido, mas não copiado.

Contexto

A classe ara::diag::DataTransferReadSharedDataHandler pertence à área de diagnóstico da AUTOSAR Adaptive Platform no módulo diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 «Class: DataTransferReadSharedDataHandler»). Sua tarefa central consiste no processamento de transferências de dados para conteúdos de arquivos e diretórios acionadas por solicitações UDS como RequestReadFile ou RequestReadDirectory ([SWS_DM_01497]). Em vez de etapas individuais de cópia para cada bloco de transmissão, este manipulador permite que a implementação específica da aplicação disponibilize a totalidade dos dados como uma área de memória contígua e compartilhada.

No fluxo global do sistema cooperam três atores principais: o cliente UDS externo envia a solicitação de leitura para a unidade de controle. O ambiente de tempo de execução de diagnóstico AraDiag recebe a solicitação e encaminha a execução para a implementação concreta de DataTransferReadSharedDataHandler ([SWS_DM_01497], [SWS_DM_01504]). Um terceiro parceiro, o ReleaseHandler, sinaliza para a aplicação assim que os recursos de memória compartilhada não forem mais necessários pela plataforma e puderem ser liberados ([SWS_DM_01504]).

DataTransferContext UdsClient UDS-Client AraDiag AraDiag UdsClient->AraDiag UDS RequestReadFile / RequestReadDirectory AraDiag->UdsClient UDS-Antwortdaten Handler DataTransferReadSharedDataHandler AraDiag->Handler Read() / ExitRead() ReleaseHandler ReleaseHandler AraDiag->ReleaseHandler Freigabebenachrichtigung Handler->AraDiag Shared Data (Span) / Vector ReleaseHandler->Handler Speicherfreigabe signalisiert

Diagrama de contexto: interação entre o cliente UDS, o ambiente de tempo de execução AraDiag e a implementação do manipulador do lado da aplicação. Fontes: [SWS_DM_01497], [SWS_DM_01504], [SWS_DM_01505]

Ciclo de vida

A criação do manipulador ocorre por meio do construtor padrão sem parâmetros ([SWS_DM_01498], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.1 «Default Constructor»). Em relação às relações de propriedade, aplica-se o princípio de uso único: manipuladores não podem ser copiados, uma vez que uma instância está vinculada exclusivamente a uma única sessão de transferência de arquivos ([SWS_DM_01501], [SWS_DM_01503]). Tanto o construtor de cópia (AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.2.1 «DataTransferReadSharedDataHandler») quanto o operador de atribuição por cópia estão, portanto, marcados como delete. Uma transferência de instâncias é possível por meio de operações de movimentação: o construtor de movimentação ([SWS_DM_01500], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.2 «Move Constructor») e o operador de atribuição por movimentação ([SWS_DM_01502]) estão declarados como default e noexcept.

Para a destruição do objeto existe uma pré-condição estrita: uma instância desta classe não pode, de forma alguma, ser destruída antes que a sessão de transferência tenha sido formalmente encerrada através da chamada de ExitRead() ([SWS_DM_01499], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.3 «Destructor»). Somente após a conclusão desse tratamento de encerramento o destrutor virtual pode ser executado ([SWS_DM_01499]).

Quanto à concorrência, os métodos centrais Read() e ExitRead() são identificados como não thread-safe (not thread-safe), enquanto todas as funções da interface garantem segurança de exceção (exception safe) ([SWS_DM_01498], [SWS_DM_01504], [SWS_DM_01505]).

Caminho de utilização

A sequência típica de chamadas de uma transferência de dados com áreas de memória compartilhada abrange várias etapas:

  • Disponibilização dos Shared Data: AraDiag chama o método puramente virtual Read() e passa um ReleaseHandler, MetaInfo bem como um CancellationHandler ([SWS_DM_01504]). A aplicação aloca a totalidade do conteúdo do arquivo ou diretório e retorna a visão compartilhada sobre ele como ara::core::Span<ara::core::Byte> através de um ara::core::Future para AraDiag ([SWS_DM_01504]).
  • Retenção da memória e liberação: a aplicação deve obrigatoriamente manter a memória alocada intacta até que o ReleaseHandler sinalize que a área de memória pode ser liberada com segurança ([SWS_DM_01504]). A aplicação pode, para isso, registrar uma função de notificação no ReleaseHandler ou consultar ativamente seu status ([SWS_DM_01504]). Interpretação: a sinalização através do ReleaseHandler ocorre provavelmente de forma assíncrona por meio de AraDiag, assim que os blocos de dados tiverem sido transmitidos com sucesso ao cliente UDS. Pergunta Q-0fbc1c5e667c9a68 (aberta)
  • Encerramento da sessão: para finalizar a transferência, AraDiag chama o método ExitRead() ([SWS_DM_01505], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Além do motivo do término (DataTransferExitType), são passados parâmetros de solicitação específicos do fabricante do veículo, cujo tempo de vida é garantido até o cumprimento da promise de resultado ([SWS_DM_01505]). A aplicação fornece os dados de resposta através de um ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]).
  • Destruição do objeto: após a chamada bem-sucedida de ExitRead(), a instância do manipulador pode ser liberada e destruída ([SWS_DM_01499]).
Sequência da transferência de shared data para leituraAraDiagDataTransferReadSharedDataHandlerReleaseHandlerRead(release_handler, meta_info, cancellation_handler)Speicher allozieren & Shared Data View erstellenFuture<Span<Byte>> com Shared Data ViewUse Case: SpeicherfreigabeChamar notifier ou definir statusSpeicherfreigabe signalisiertAlloziierten Puffer freigebenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancellation_handler)Future<Vector<Byte>> (OperationOutput)

Diagrama de sequência: sequência de etapas desde a disponibilização de dados via Read(), passando pela liberação de memória, até o encerramento via ExitRead(). Fontes: [SWS_DM_01499], [SWS_DM_01504], [SWS_DM_01505]

Cenários de erro

Se ocorrerem erros durante a disponibilização dos dados ou na finalização da transferência, eles serão reportados através do respectivo ara::core::Future com um ara::core::ErrorCode do domínio DiagUdsNrcErrc de acordo com a ISO 14229-1 ([SWS_DM_01504], [SWS_DM_01505]).

Outro cenário é o cancelamento de uma conversação de diagnóstico em andamento. Ambos os métodos recebem um CancellationHandler ([SWS_DM_01504], [SWS_DM_01505]). A aplicação pode verificar de forma síncrona o status do cancelamento por meio de cancellation_handler.IsCanceled() ou definir uma função de notificação via cancellation_handler.SetNotifier() para reagir imediatamente em caso de cancelamento prematuro ([SWS_DM_01504], [SWS_DM_01505]).

Uma violação da pré-condição relativa ao destrutor – quando o objeto é destruído antes que ExitRead() tenha sido chamado – contradiz a especificação [SWS_DM_01499] e leva a estados incorretos do programa.

Este guia de classe baseia-se na especificação AUTOSAR Adaptive Platform Release R25-11.

Mapa de membros

Diagrama de classes

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

G nara__diag__DataTransferReadSharedDataHandler544 DataTransferReadSharedDataHandler + DataTransferReadSharedDataHandler() + ~DataTransferReadSharedDataHandler() + ExitRead() + Read() + operator=()

Vista de detalhes

Selecione uma entrada no índice.

Construtores e destrutor

Constructs an instance of this class.

Sobrecargas DataTransferReadSharedDataHandler 3
DataTransferReadSharedDataHandler () noexcept=default; SWS_DM_01498
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default; SWS_DM_01500
DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete; SWS_DM_01501

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called.

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

Métodos

ExitRead função

Exits an ongoing data transfer session.

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;
Read função

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

Operadores

operator= função 2

Move assigns an instance of this class.

Sobrecargas = 2
auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default; SWS_DM_01502
auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete; SWS_DM_01503

Documentação dos métodos

função DataTransferReadSharedDataHandler [SWS_DM_01498] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler () noexcept=default;

Constructs an instance of this class.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01498
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01498@rel:R25-11#cd43bf35
Content hash
cd43bf35
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01498
Status: valid/unmigrated Version: rel:R25-11#9b4d17d4 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_01498@rel:R25-11#9b4d17d4
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9604c17f2026-09-30
  • R22-11rel:R22-11#484fb5092026-10-14
  • R23-11rel:R23-11#8a81d7d52026-10-14
  • R24-11rel:R24-11#b779c4dd2026-10-14
  • R25-11rel:R25-11#9b4d17d42026-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 DataTransferReadSharedDataHandler [SWS_DM_01500] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler &&other) noexcept=default;

Move constructs an instance of this class.

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
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_01500
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01500@rel:R25-11#f97e447f
Content hash
f97e447f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01500
Status: valid/unmigrated Version: rel:R25-11#8e1ba0c2 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_01500@rel:R25-11#8e1ba0c2
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#e2f2ec4a2026-09-30
  • R22-11rel:R22-11#2549265b2026-10-14
  • R23-11rel:R23-11#4fc7fa8a2026-10-14
  • R24-11rel:R24-11#115062c32026-10-14
  • R25-11rel:R25-11#8e1ba0c22026-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 DataTransferReadSharedDataHandler [SWS_DM_01501] Upstream: RS_Diag_04135

DataTransferReadSharedDataHandler (DataTransferReadSharedDataHandler const &)=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01501
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01501@rel:R25-11#17513892
Content hash
17513892
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01501
Status: valid/unmigrated Version: rel:R25-11#78df071e 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_01501@rel:R25-11#78df071e
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#d442aedb2026-09-30
  • R22-11rel:R22-11#231201f12026-10-14
  • R23-11rel:R23-11#6acf11902026-10-14
  • R24-11rel:R24-11#97f451652026-10-14
  • R25-11rel:R25-11#78df071e2026-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 ExitRead [SWS_DM_01505] Upstream: RS_Diag_04135

virtual auto ExitRead (DataTransferExitType exit_type, ara::core::Span< const ara::core::Byte > transfer_request_parameter_ record, MetaInfo const &meta_info, CancellationHandler cancellation_ handler) noexcept -> ara::core::Future< ara::core::Vector< ara::core::Byte > >=0;

Exits an ongoing data transfer session.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: 8bcba929adb6 Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

A interface ExitRead da classe ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]; cabeçalho ara/diag/data_transfer.h) encerra uma sessão de transferência de dados em andamento.

Utilização e parâmetros

A chamada ocorre de forma assíncrona e retorna um ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]; AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Os seguintes parâmetros são passados:

  • exit_type (DataTransferExitType): Especifica o motivo para o encerramento da sessão.
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): Contém parâmetros específicos do fabricante para dar suporte à transferência. Os dados permanecem válidos até que o Promise associado seja cumprido ou o processamento seja cancelado.
  • meta_info (MetaInfo const&): Contém metainformações adicionais da solicitação de diagnóstico.
  • cancellation_handler (CancellationHandler): Permite verificar o status de cancelamento por meio de cancellation_handler.IsCanceled(), bem como registrar uma função de notificação via cancellation_handler.SetNotifier(), a qual é chamada em caso de cancelamento da conversação.

Tratamento de erros e valores de retorno

Em caso de conclusão bem-sucedida, o Future disponibiliza os dados de saída (transferResponseParameterRecord), os quais são posicionados após o SID na resposta positiva [SWS_DM_01505]. Em caso de erro, o Future é cumprido com um código de erro de DiagUdsNrcErrc (NRC aplicável de acordo com a ISO 14229-1) [SWS_DM_01505].

Concorrência e ciclo de vida

O método está declarado como noexcept (exception safe), porém explicitamente especificado como not thread-safe [SWS_DM_01505]. Em relação ao ciclo de vida do objeto, aplica-se a diretriz de que uma instância de DataTransferReadSharedDataHandler não deve, sob hipótese alguma, ser destruída antes que ExitRead() tenha sido chamado ([SWS_DM_01499]). Funções de encerramento e requisitos de destrutor análogos existem para as classes relacionadas DataTransferReadByPullHandler ([SWS_DM_01514]) e DataTransferReadByPushHandler ([SWS_DM_01523]).

Esta nota de uso foi criada por uma IA e baseia-se nas especificações da AUTOSAR Adaptive Platform.

Guia do implementador em breve (complexidade I2)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
exit_typeSpecifies the exit reason
transfer_request_This parameter record contains parameter(s), which are required
parameter_recordby the server to support the transfer of data. Format and length of this parameter(s) are vehicle manufacturer specific. Lifetime: Valid until Promise is fulfilled or the processing is cancelled by the cancellationHandler.
meta_infocontains additional meta information of the request.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Vector<ara::core::Byte > >Returns a Future, which either gets readied to OperationOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in OperationOutput.response_data will be placed after SID as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01505
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01505@rel:R25-11#31d436fb
Content hash
31d436fb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01505
Status: valid/unmigrated Version: rel:R25-11#e1792911 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_01505@rel:R25-11#e1792911
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#620bca3b2026-09-30
  • R22-11rel:R22-11#6fa010712026-10-14
  • R23-11rel:R23-11#aed9f17a2026-10-14
  • R24-11rel:R24-11#70ebc8d42026-10-14
  • R25-11rel:R25-11#e17929112026-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 Read [SWS_DM_01504] Upstream: RS_Diag_04135

virtual auto Read (ReleaseHandler release_handler, MetaInfo const &meta_info, CancellationHandler cancellation_handler) noexcept -> ara::core::Future< ara::core::Span< ara::core::Byte > >=0;

Provides the whole data to be read out from the application in form of a shared data view. The whole file/directory info content to be sent back to the UDS client will be allocated by the application and its shared ownership (view over the memory location) is passed as a result to AraDiag. The allocated memory must be kept until the ReleaseHandler’s notifier is invoked or the status polled, signalling that the memory, addressed by the Span now can safely be released.

GERADO POR IA não revisado Modelo: gemini-3.8-flash-medium · Esforço: medium · Temperatura: não controlável · Prompt: cba844c9db1e Procedência
traduzido do guia alemãogemini-3.8-flash-low · 2026-10-13 · Original em alemão

O método Read da interface ara::diag::DataTransferReadSharedDataHandler disponibiliza dados de arquivo ou diretório a serem lidos para o cliente UDS por meio de uma visão de memória compartilhada ([SWS_DM_01504]). A chamada ocorre de forma assíncrona e retorna um ara::core::Future com um ara::core::Span<ara::core::Byte> ([SWS_DM_01504]).

Utilização e ciclo de vida

A aplicação implementadora aloca todo o conteúdo por conta própria e passa a visão para o AraDiag. A área de memória subjacente deve ser mantida obrigatoriamente inalterada até que a liberação através do ReleaseHandler passado seja sinalizada pelo seu notificador ou consultada por verificação de status ([SWS_DM_01504]). O ReleaseHandler deve ser armazenado para o mesmo cliente UDS com base no MetaInfo ([SWS_DM_01504]). Através do CancellationHandler, uma transferência em andamento pode ser monitorada via IsCanceled() ou um notificador de cancelamento pode ser registrado via SetNotifier() ([SWS_DM_01504]).

Tratamento de erros e simultaneidade

Em caso de sucesso, os dados são enviados como transferResponseParameterRecord após o blockSequenceCounter ([SWS_DM_01504]). Se a leitura falhar, o Future deve ser completado com um código de erro apropriado de DiagUdsNrcErrc de acordo com a ISO 14229-1 ([SWS_DM_01504]). Se a interface da aplicação ainda não tiver sido disponibilizada ou não estiver mais disponibilizada via offer(), o servidor reporta NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). A função é especificada como noexcept e segura contra exceções, mas é considerada não segura para threads (not thread-safe) ([SWS_DM_01504]).

demarcação

Ao contrário de DataTransferReadByPullHandler::Read, em que blocos de dados são copiados para um buffer predefinido ([SWS_DM_01513]), ou de DataTransferReadByPushHandler::Read, que fornece vetores por transferência de propriedade ([SWS_DM_01522]), este manipulador transmite o conteúdo total sem cópia de buffer por meio de memória compartilhada ([SWS_DM_01504]).

Esta nota de uso foi gerada automaticamente com base no padrão AUTOSAR.

Guia do implementador em breve (complexidade I1)

Header-Datei#include "ara/diag/data_transfer.h"
Scopeclass ara::diag::DataTransferReadSharedDataHandler
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
release_handlerThe release shared resource handler to be stored and used by the application until a new one is passed for the same meta_info (UDS client).
meta_infoContains additional meta information.
cancellation_handlerThis parameter is used to • Query the current cancellation status by calling cancellation_ handler.IsCanceled(). Returns true in case, the current conversation has been cancelled and false otherwise. • Register a notifier function by calling cancellation_handler.Set Notifier(). The registered notifier is called if the current conversation is cancelled.

Rückgabewert

TypBeschreibung
ara::core::Future<ara::core::Span<ara::core::Byte > >Returns a Future, which either gets readied to ReadSharedOutput (transferResponseParameterRecord for a positive response message) or readied with ErrorCode from DiagUdsNrcErrc (for an negative response message). Data in ReleaseSharedHandler.responseData will be placed after the blockSequenceCounter as transferResponseParameterRecord in the positive response.

Fehler

FehlercodeBeschreibung
Please use an applicable NRC, as defined in ISO 14229-1, using DiagUdsNrcErrc.

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

Record
AUTOSAR/AP/record/SWS_DM_01504
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01504@rel:R25-11#3380c1e7
Content hash
3380c1e7
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01504
Status: valid/unmigrated Version: rel:R25-11#70152a76 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_01504@rel:R25-11#70152a76
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#c2d856732026-09-30
  • R22-11rel:R22-11#2ac3f98c2026-10-14
  • R23-11rel:R23-11#a77ff00a2026-10-14
  • R24-11rel:R24-11#cb8092b92026-10-14
  • R25-11rel:R25-11#70152a762026-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_01502] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default;

Move assigns an instance of this class.

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

Parameter (out)

ParameterBeschreibung
otherThe other object

Rückgabewert

TypBeschreibung
DataTransferReadSharedDataHandlerReference to self

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

Record
AUTOSAR/AP/record/SWS_DM_01502
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01502@rel:R25-11#6577f029
Content hash
6577f029
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01502
Status: valid/unmigrated Version: rel:R25-11#832e8a63 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_01502@rel:R25-11#832e8a63
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#1624a5042026-09-30
  • R22-11rel:R22-11#e14988b02026-10-14
  • R23-11rel:R23-11#50b572f72026-10-14
  • R24-11rel:R24-11#267467a32026-10-14
  • R25-11rel:R25-11#832e8a632026-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_01503] Upstream: RS_Diag_04135

auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete;

Handlers shall not be copy-able since only one way usage i.e. per single file transfer session.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01503
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01503@rel:R25-11#a28ed710
Content hash
a28ed710
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01503
Status: valid/unmigrated Version: rel:R25-11#b992cd12 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_01503@rel:R25-11#b992cd12
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#12b3008f2026-09-30
  • R22-11rel:R22-11#82fbd70f2026-10-14
  • R23-11rel:R23-11#c35f38a12026-10-14
  • R24-11rel:R24-11#15d3796f2026-10-14
  • R25-11rel:R25-11#b992cd122026-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 ~DataTransferReadSharedDataHandler [SWS_DM_01499] Upstream: RS_Diag_04135

virtual ~DataTransferReadSharedDataHandler () noexcept=default;

Destructs an instance of this class. An instance of this class must not be destroyed before ExitRead() is called.

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

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

Record
AUTOSAR/AP/record/SWS_DM_01499
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01499@rel:R25-11#22128437
Content hash
22128437
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01499
Status: valid/unmigrated Version: rel:R25-11#885ef68d 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_01499@rel:R25-11#885ef68d
Point-in-Time History:
Recorded Revisions (5):
  • R25-11rel:R25-11#9cd521aa2026-09-30
  • R22-11rel:R22-11#8b4091042026-10-14
  • R23-11rel:R23-11#404559c12026-10-14
  • R24-11rel:R24-11#e200ae122026-10-14
  • R25-11rel:R25-11#885ef68d2026-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