DEENESPTFRRUARHIKOZHNL

clase 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

Guía del usuarioGENERADO POR IA

Permite la lectura de archivos o directorios completos mediante áreas de memoria compartida en solicitudes de diagnóstico.
GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 4c654c39d186 Procedencia Preguntas abiertas (1)
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

Permite la lectura de archivos o directorios completos mediante áreas de memoria compartida en solicitudes de diagnóstico.

La clase ara::diag::DataTransferReadSharedDataHandler sirve para procesar transferencias de datos de diagnóstico de lectura para contenidos de archivos y directorios a través de memoria compartida ([SWS_DM_01497]). Tras el inicio de la sesión, la implementación de la aplicación proporciona la totalidad de los datos como una Shared Data View mediante Read() y mantiene reservado el búfer asignado hasta la notificación de liberación emitida por el ReleaseHandler ([SWS_DM_01504]). Antes de destruir el objeto específico del manejador, la sesión de transferencia debe completarse obligatoriamente mediante ExitRead(). El objeto está destinado exclusivamente a una única sesión de transferencia y, por lo tanto, puede moverse, pero no copiarse.

Contexto

La clase ara::diag::DataTransferReadSharedDataHandler pertenece al área de diagnóstico de AUTOSAR Adaptive Platform en el módulo diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 «Class: DataTransferReadSharedDataHandler»). Su cometido principal consiste en procesar transferencias de datos para contenidos de archivos y directorios que se activan mediante solicitudes UDS como RequestReadFile o RequestReadDirectory ([SWS_DM_01497]). En lugar de pasos de copia individuales para cada bloque de transferencia, este manejador permite a la implementación específica de la aplicación suministrar la totalidad de los datos como un área de memoria contigua y compartida.

En el flujo global del sistema cooperan tres actores principales: el cliente UDS externo envía la solicitud de lectura a la unidad de control. El entorno de tiempo de ejecución de diagnóstico AraDiag recibe la solicitud y redirige la ejecución a la implementación concreta de DataTransferReadSharedDataHandler ([SWS_DM_01497], [SWS_DM_01504]). Un tercer interlocutor, el ReleaseHandler, señala a la aplicación en cuanto los recursos de memoria compartida dejan de ser necesarios para la plataforma y pueden liberarse ([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: interacción entre el cliente UDS, el entorno de tiempo de ejecución AraDiag y la implementación del manejador del lado de la aplicación. Fuentes: [SWS_DM_01497], [SWS_DM_01504], [SWS_DM_01505]

Ciclo de vida

La creación del manejador se efectúa mediante el constructor por defecto sin parámetros ([SWS_DM_01498], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.1 «Default Constructor»). Con respecto a la propiedad se aplica el principio de un solo uso: los manejadores no deben copiarse, ya que una instancia está vinculada exclusivamente a una única sesión de transferencia de archivos ([SWS_DM_01501], [SWS_DM_01503]). Por consiguiente, tanto el constructor de copia (AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.2.1 «DataTransferReadSharedDataHandler») como el operador de asignación por copia están marcados como delete. La transferencia de instancias es posible mediante operaciones de movimiento: el constructor de movimiento ([SWS_DM_01500], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.2 «Move Constructor») y el operador de asignación por movimiento ([SWS_DM_01502]) están declarados como default y noexcept.

Para la destrucción del objeto existe una condición previa estricta: una instancia de esta clase no debe destruirse bajo ningún concepto antes de que la sesión de transferencia haya finalizado formalmente mediante la invocación de ExitRead() ([SWS_DM_01499], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.3 «Destructor»). Solo tras completar este tratamiento final puede ejecutarse el destructor virtual ([SWS_DM_01499]).

En lo que respecta a la concurrencia, los métodos centrales Read() y ExitRead() se designan como no seguros para hilos (not thread-safe), mientras que todas las funciones de la interfaz garantizan seguridad ante excepciones (exception safe) ([SWS_DM_01498], [SWS_DM_01504], [SWS_DM_01505]).

Ruta de uso

La secuencia de invocaciones típica de una transferencia de datos con áreas de memoria compartida comprende varios pasos:

  • Suministro de los Shared Data: AraDiag invoca el método puramente virtual Read() y transfiere un ReleaseHandler, MetaInfo así como un CancellationHandler ([SWS_DM_01504]). La aplicación asigna todo el contenido del archivo o directorio y devuelve la vista compartida sobre el mismo como ara::core::Span<ara::core::Byte> a través de un ara::core::Future a AraDiag ([SWS_DM_01504]).
  • Retención y liberación de memoria: la aplicación debe mantener obligatoriamente intacta la memoria asignada hasta que el ReleaseHandler indique que el área de memoria se puede liberar de forma segura ([SWS_DM_01504]). Para ello, la aplicación puede registrar una función de notificación en ReleaseHandler o consultar activamente su estado ([SWS_DM_01504]). Interpretación: probablemente, la señalización a través del ReleaseHandler la realiza AraDiag de forma asíncrona tan pronto como los bloques de datos se hayan transmitido con éxito al cliente UDS. Pregunta Q-0fbc1c5e667c9a68 (abierta)
  • Finalización de sesión: para finalizar la transmisión, AraDiag invoca el método ExitRead() ([SWS_DM_01505], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Además del motivo de finalización (DataTransferExitType), se transfieren parámetros de solicitud específicos del fabricante del vehículo, cuya vida útil está garantizada hasta el cumplimiento del promise de resultado ([SWS_DM_01505]). La aplicación devuelve los datos de respuesta a través de un ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]).
  • Destrucción del objeto: tras la invocación correcta de ExitRead(), la instancia del manejador se puede liberar y destruir ([SWS_DM_01499]).
Flujo de la transferencia de datos compartidos de lecturaAraDiagDataTransferReadSharedDataHandlerReleaseHandlerRead(release_handler, meta_info, cancellation_handler)Speicher allozieren & Shared Data View erstellenFuture<Span<Byte>> con Shared Data ViewUse Case: SpeicherfreigabeLlamar al notificador o establecer estadoSpeicherfreigabe signalisiertAlloziierten Puffer freigebenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancellation_handler)Future<Vector<Byte>> (OperationOutput)

Diagrama de secuencias: secuencia de pasos desde el suministro de datos mediante Read(), pasando por la liberación de memoria, hasta la finalización mediante ExitRead(). Fuentes: [SWS_DM_01499], [SWS_DM_01504], [SWS_DM_01505]

Escenarios de error

Si se producen errores durante el suministro de los datos o al finalizar la transmisión, estos se notifican a través del ara::core::Future correspondiente con un ara::core::ErrorCode perteneciente al dominio DiagUdsNrcErrc conforme a ISO 14229-1 ([SWS_DM_01504], [SWS_DM_01505]).

Otro escenario lo constituye la cancelación de una conversación de diagnóstico en curso. Ambos métodos reciben un CancellationHandler ([SWS_DM_01504], [SWS_DM_01505]). La aplicación puede comprobar de manera síncrona el estado de cancelación a través de cancellation_handler.IsCanceled() o definir una función de notificación mediante cancellation_handler.SetNotifier() para reaccionar inmediatamente en caso de cancelación anticipada ([SWS_DM_01504], [SWS_DM_01505]).

Una infracción de la condición previa relativa al destructor —si el objeto se destruye antes de que se haya invocado ExitRead()— contradice el requisito [SWS_DM_01499] y da lugar a estados erróneos del programa.

Esta guía de clases se basa en la especificación de AUTOSAR Adaptive Platform Release R25-11.

Mapa de miembros

Diagrama de clases

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

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

Vista de detalle

Selecciona una entrada en el índice.

Constructores y destructor

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 función

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 función

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= función 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

Documentación de los métodos

función 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#23aa61c6
Content hash
23aa61c6
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

función 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#c1280d0b
Content hash
c1280d0b
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

función 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#bb280a32
Content hash
bb280a32
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: 8bcba929adb6 Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

La interfaz ExitRead de la clase ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]; encabezado ara/diag/data_transfer.h) finaliza una sesión de transferencia de datos en curso.

Uso y parámetros

La llamada se realiza de forma asíncrona y devuelve un ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]; AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Se transfieren los siguientes parámetros:

  • exit_type (DataTransferExitType): especifica el motivo para finalizar la sesión.
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): contiene parámetros específicos del fabricante para admitir la transferencia. Los datos permanecen válidos hasta que se cumpla la Promise correspondiente o se cancele el procesamiento.
  • meta_info (MetaInfo const&): contiene metainformación adicional de la solicitud de diagnóstico.
  • cancellation_handler (CancellationHandler): permite comprobar el estado de cancelación mediante cancellation_handler.IsCanceled(), así como registrar una función de notificación a través de cancellation_handler.SetNotifier(), la cual se invoca al cancelarse la conversación.

Tratamiento de errores y valores de retorno

En caso de finalización correcta, el Future proporciona los datos de salida (transferResponseParameterRecord), que se colocan detrás del SID en la respuesta positiva [SWS_DM_01505]. En caso de error, el Future se cumple con un código de error de DiagUdsNrcErrc (NRC correspondiente según ISO 14229-1) [SWS_DM_01505].

Concurrencia y ciclo de vida

El método está declarado como noexcept (exception safe), pero se especifica explícitamente como not thread-safe [SWS_DM_01505]. Respecto al ciclo de vida del objeto, rige el requisito de que una instancia de DataTransferReadSharedDataHandler no debe destruirse bajo ninguna circunstancia antes de que se haya llamado a ExitRead() ([SWS_DM_01499]). Existen funciones de finalización y requisitos de destructor análogos para las clases afines DataTransferReadByPullHandler ([SWS_DM_01514]) y DataTransferReadByPushHandler ([SWS_DM_01523]).

Esta nota de uso fue generada por una IA y se basa en las especificaciones de la AUTOSAR Adaptive Platform.

Guía del implementador pendiente (complejidad 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#b99da4e0
Content hash
b99da4e0
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

función 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.

GENERADO POR IA no revisado Modelo: gemini-3.8-flash-medium · Esfuerzo: medium · Temperatura: no controlable · Prompt: cba844c9db1e Procedencia
traducido de la guía alemanagemini-3.8-flash-low · 2026-10-13 · Original en alemán

El método Read de la interfaz ara::diag::DataTransferReadSharedDataHandler proporciona al cliente UDS datos de archivo o de directorio que se van a leer mediante una vista de memoria compartida ([SWS_DM_01504]). La llamada se realiza de forma asíncrona y devuelve un ara::core::Future con un ara::core::Span<ara::core::Byte> ([SWS_DM_01504]).

Uso y ciclo de vida

La aplicación implementadora asigna todo el contenido por sí misma y transfiere la vista a AraDiag. El área de memoria subyacente debe mantenerse obligatoriamente sin cambios hasta que su notificador señale la liberación a través del ReleaseHandler transferido o esta se consulte mediante una comprobación de estado ([SWS_DM_01504]). El ReleaseHandler debe almacenarse para el mismo cliente UDS en función del MetaInfo ([SWS_DM_01504]). A través del CancellationHandler se puede supervisar una transferencia en curso vía IsCanceled() o registrar un notificador de cancelación mediante SetNotifier() ([SWS_DM_01504]).

Tratamiento de errores y concurrencia

En caso de éxito, los datos se envían como transferResponseParameterRecord después del blockSequenceCounter ([SWS_DM_01504]). Si la lectura falla, el Future debe completarse con un código de error adecuado de DiagUdsNrcErrc conforme a ISO 14229-1 ([SWS_DM_01504]). Si la interfaz de la aplicación aún no se ha proporcionado o ya no se proporciona mediante offer(), el servidor notifica NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). La función está especificada como noexcept y segura frente a excepciones, pero se considera no segura para hilos (not thread-safe) ([SWS_DM_01504]).

Delimitación

A diferencia de DataTransferReadByPullHandler::Read, donde los bloques de datos se copian en un búfer predeterminado ([SWS_DM_01513]), o de DataTransferReadByPushHandler::Read, que entrega vectores mediante transferencia de propiedad ([SWS_DM_01522]), este manejador transfiere todo el contenido sin copia de búfer a través de memoria compartida ([SWS_DM_01504]).

Esta nota de uso se ha generado de forma automatizada sobre la base del estándar AUTOSAR.

Guía del implementador pendiente (complejidad 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#8eb73045
Content hash
8eb73045
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

función 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#56888d6e
Content hash
56888d6e
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

función 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#34417c44
Content hash
34417c44
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

función ~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#c39a47c9
Content hash
c39a47c9
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