DEENESPTFRRUARHIKOZHNL

класс 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

Руководство пользователяСОЗДАНО ИИ

Позволяет считывать полные файлы или каталоги через разделяемые области памяти при диагностических запросах.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4c654c39d186 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Позволяет считывать полные файлы или каталоги через разделяемые области памяти при диагностических запросах.

Класс ara::diag::DataTransferReadSharedDataHandler служит для обработки диагностических передач данных чтения для содержимого файлов и каталогов через разделяемую память ([SWS_DM_01497]). После запуска сеанса реализация приложения предоставляет все данные в виде Shared Data View с помощью Read() и удерживает выделенный буфер вплоть до сообщения об освобождении от ReleaseHandler ([SWS_DM_01504]). Перед уничтожением объекта обработчика сессия передачи обязательно должна быть завершена через ExitRead(). Объект предназначен исключительно для одной сессии передачи и поэтому может перемещаться, но не копироваться.

Контекст

Класс ara::diag::DataTransferReadSharedDataHandler относится к диагностической области AUTOSAR Adaptive Platform в модуле diag (AUTOSAR_AP_SWS_Diagnostics §8.10.5 «Class: DataTransferReadSharedDataHandler»). Его основная задача заключается в обработке передач данных для содержимого файлов и каталогов, инициированных такими UDS-запросами, как RequestReadFile или RequestReadDirectory ([SWS_DM_01497]). Вместо отдельных шагов копирования для каждого блока передачи этот обработчик позволяет зависимой от приложения реализации предоставлять все данные в виде непрерывной разделяемой области памяти.

В общем рабочем процессе системы взаимодействуют три основных участника: внешний UDS-клиент отправляет запрос на чтение в блок управления. Диагностическая среда выполнения AraDiag принимает запрос и направляет выполнение конкретной реализации DataTransferReadSharedDataHandler ([SWS_DM_01497], [SWS_DM_01504]). Третий участник, ReleaseHandler, сигнализирует приложению, как только разделяемые ресурсы памяти перестают требоваться платформе и могут быть освобождены ([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

Контекстная диаграмма: взаимодействие между UDS-клиентом, средой выполнения AraDiag и реализацией обработчика со стороны приложения. Источники: [SWS_DM_01497], [SWS_DM_01504], [SWS_DM_01505]

Жизненный цикл

Создание обработчика происходит через конструктор по умолчанию без параметров ([SWS_DM_01498], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.1 «Default Constructor»). В отношении прав владения действует принцип однократного использования: обработчики запрещено копировать, поскольку экземпляр монопольно привязан к одной сессии передачи файлов ([SWS_DM_01501], [SWS_DM_01503]). Поэтому как конструктор копирования (AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.2.1 «DataTransferReadSharedDataHandler»), так и оператор присваивания с копированием помечены как delete. Передача экземпляров возможна с помощью операций перемещения: конструктор перемещения ([SWS_DM_01500], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.2 «Move Constructor») и оператор присваивания с перемещением ([SWS_DM_01502]) объявлены как default и noexcept.

Для уничтожения объекта действует строгое предусловие: экземпляр этого класса ни в коем случае не должен уничтожаться до того, как сессия передачи будет формально завершена вызовом ExitRead() ([SWS_DM_01499], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.1.3 «Destructor»). Только после выполнения этой заключительной обработки разрешается выполнение виртуального деструктора ([SWS_DM_01499]).

В отношении многопоточности основные методы Read() и ExitRead() указаны как потоконебезопасные (not thread-safe), в то время как все функции интерфейса гарантируют безопасность исключений (exception safe) ([SWS_DM_01498], [SWS_DM_01504], [SWS_DM_01505]).

Путь использования

Типичная последовательность вызовов передачи данных с разделяемыми областями памяти включает несколько шагов:

  • Предоставление Shared Data: AraDiag вызывает чисто виртуальный метод Read() и передает ReleaseHandler, MetaInfo, а также CancellationHandler ([SWS_DM_01504]). Приложение выделяет память под все содержимое файла или каталога и возвращает разделяемое представление на него в виде ara::core::Span<ara::core::Byte> через ara::core::Future обратно в AraDiag ([SWS_DM_01504]).
  • Удержание и освобождение памяти: приложение обязательно должно сохранять целостность выделенной памяти до тех пор, пока ReleaseHandler не просигнализирует о том, что область памяти может быть безопасно освобождена ([SWS_DM_01504]). Для этого приложение может зарегистрировать функцию уведомления (notifier) в ReleaseHandler или активно опрашивать его статус ([SWS_DM_01504]). Интерпретация: сигнализация через ReleaseHandler, предположительно, выполняется асинхронно компонентом AraDiag, как только блоки данных успешно переданы UDS-клиенту. Вопрос Q-0fbc1c5e667c9a68 (открытый)
  • Завершение сеанса: для завершения передачи AraDiag вызывает метод ExitRead() ([SWS_DM_01505], AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Наряду с причиной завершения (DataTransferExitType) передаются специфичные для автопроизводителя параметры запроса, время жизни которых гарантируется до выполнения promise с результатом ([SWS_DM_01505]). Приложение возвращает данные ответа через ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]).
  • Уничтожение объекта: только после успешного вызова ExitRead() экземпляр обработчика разрешается освобождать и уничтожать ([SWS_DM_01499]).
Последовательность передачи разделяемых данных для чтенияAraDiagDataTransferReadSharedDataHandlerReleaseHandlerRead(release_handler, meta_info, cancellation_handler)Speicher allozieren & Shared Data View erstellenFuture<Span<Byte>> с Shared Data ViewUse Case: SpeicherfreigabeВызов Notifier или установка статусаSpeicherfreigabe signalisiertAlloziierten Puffer freigebenUse Case: SitzungsabschlussExitRead(exit_type, param_record, meta_info, cancellation_handler)Future<Vector<Byte>> (OperationOutput)

Диаграмма последовательности: пошаговая последовательность от предоставления данных через Read() и освобождения памяти до завершения через ExitRead(). Источники: [SWS_DM_01499], [SWS_DM_01504], [SWS_DM_01505]

Сценарии ошибок

Если при предоставлении данных или при завершении передачи возникают ошибки, о них сообщается через соответствующий ara::core::Future с ara::core::ErrorCode из домена DiagUdsNrcErrc согласно ISO 14229-1 ([SWS_DM_01504], [SWS_DM_01505]).

Еще один сценарий представляет собой прерывание текущей диагностической коммуникации. Оба метода получают CancellationHandler ([SWS_DM_01504], [SWS_DM_01505]). Приложение может синхронно проверять статус отмены через cancellation_handler.IsCanceled() или задать функцию уведомления через cancellation_handler.SetNotifier(), чтобы незамедлительно отреагировать при преждевременной отмене ([SWS_DM_01504], [SWS_DM_01505]).

Нарушение предусловия относительно деструктора — если объект уничтожается до вызова ExitRead() — противоречит требованию [SWS_DM_01499] и приводит к ошибочным состояниям программы.

Это руководство по классам основано на спецификации AUTOSAR Adaptive Platform Release R25-11.

Карта членов

Конструкторы и деструктор

2

Методы

2

Операторы

1

Диаграмма классов

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

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

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

Constructs an instance of this class.

Перегрузки 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;

Методы

ExitRead функция

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 функция

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;

Операторы

operator= функция 2

Move assigns an instance of this class.

Перегрузки = 2
auto operator= (DataTransferReadSharedDataHandler &&other) & noexcept -> DataTransferReadSharedDataHandler & =default; SWS_DM_01502
auto operator= (DataTransferReadSharedDataHandler const &) -> Data TransferReadSharedDataHandler &=delete; SWS_DM_01503

Документация методов

функция 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#041f2953
Content hash
041f2953
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

функция 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#205244a2
Content hash
205244a2
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

функция 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#a2425b8d
Content hash
a2425b8d
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 8bcba929adb6 Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Интерфейс ExitRead класса ara::diag::DataTransferReadSharedDataHandler ([SWS_DM_01505]; заголовочный файл ara/diag/data_transfer.h) завершает текущую сессию передачи данных.

Использование и параметры

Вызов выполняется асинхронно и возвращает ara::core::Future<ara::core::Vector<ara::core::Byte>> ([SWS_DM_01505]; AUTOSAR_AP_SWS_Diagnostics §8.10.5.1.3.1 «ExitRead»). Передаются следующие параметры:

  • exit_type (DataTransferExitType): указывает причину завершения сессии.
  • transfer_request_parameter_record (ara::core::Span<const ara::core::Byte>): содержит специфичные для производителя параметры для поддержки передачи. Данные остаются действительными до тех пор, пока не будет выполнено соответствующее Promise или обработка не будет отменена.
  • meta_info (MetaInfo const&): содержит дополнительную метаинформацию диагностического запроса.
  • cancellation_handler (CancellationHandler): позволяет проверять статус отмены с помощью cancellation_handler.IsCanceled(), а также регистрировать функцию уведомления через cancellation_handler.SetNotifier(), которая вызывается при отмене сеанса взаимодействия (conversation).

Обработка ошибок и возвращаемые значения

При успешном завершении Future предоставляет выходные данные (transferResponseParameterRecord), которые размещаются в положительном ответе после SID [SWS_DM_01505]. В случае ошибки Future выполняется с кодом ошибки из DiagUdsNrcErrc (соответствующий NRC согласно ISO 14229-1) [SWS_DM_01505].

Параллелизм и жизненный цикл

Метод объявлен как noexcept (exception safe), однако явно специфицирован как not thread-safe [SWS_DM_01505]. В отношении жизненного цикла объекта действует предписание, что экземпляр DataTransferReadSharedDataHandler ни в коем случае не должен уничтожаться до того, как был вызван ExitRead() ([SWS_DM_01499]). Аналогичные функции завершения и требования к деструкторам существуют для родственных классов DataTransferReadByPullHandler ([SWS_DM_01514]) и DataTransferReadByPushHandler ([SWS_DM_01523]).

Данное указание по использованию было создано ИИ и основано на спецификациях AUTOSAR Adaptive Platform.

Руководство разработчика реализации в подготовке (сложность 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#da5439f4
Content hash
da5439f4
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

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: cba844c9db1e Происхождение
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Метод Read интерфейса ara::diag::DataTransferReadSharedDataHandler предоставляет считываемые данные файлов или каталогов для UDS-клиента через разделяемое представление памяти ([SWS_DM_01504]). Вызов выполняется асинхронно и возвращает ara::core::Future с ara::core::Span<ara::core::Byte> ([SWS_DM_01504]).

Использование и жизненный цикл

Реализующее приложение выделяет всё содержимое самостоятельно и передаёт представление в AraDiag. Базовая область памяти обязательно должна сохраняться в неизменном виде до тех пор, пока освобождение не будет просигнализировано через переданный ReleaseHandler его нотификатором или запрошено путём проверки состояния ([SWS_DM_01504]). ReleaseHandler должен сохраняться для того же UDS-клиента на основе MetaInfo ([SWS_DM_01504]). Через CancellationHandler можно отслеживать текущую передачу с помощью IsCanceled() или зарегистрировать нотификатор отмены через SetNotifier() ([SWS_DM_01504]).

Обработка ошибок и параллелизм

В случае успеха данные отправляются как transferResponseParameterRecord после blockSequenceCounter ([SWS_DM_01504]). Если считывание завершается неудачно, Future необходимо завершить с подходящим кодом ошибки из DiagUdsNrcErrc согласно ISO 14229-1 ([SWS_DM_01504]). Если интерфейс приложения ещё не был или больше не предоставляется через offer(), сервер сообщает NRC 0x94 (ResourceTemporarilyNotAvailable) ([SWS_DM_01257]). Функция специфицирована как noexcept и исключебно-безопасная, однако считается непотокобезопасной (not thread-safe) ([SWS_DM_01504]).

демаркация

В отличие от DataTransferReadByPullHandler::Read, при котором блоки данных копируются в заданный буфер ([SWS_DM_01513]), или DataTransferReadByPushHandler::Read, который возвращает векторы с передачей владения ([SWS_DM_01522]), этот обработчик передаёт всё содержимое без копирования буфера через разделяемую память ([SWS_DM_01504]).

Это указание по использованию было сгенерировано автоматически на основе стандарта AUTOSAR.

Руководство разработчика реализации в подготовке (сложность 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#8b146f5f
Content hash
8b146f5f
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

функция 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#974c121f
Content hash
974c121f
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

функция 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#027fc489
Content hash
027fc489
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

функция ~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#e1001ed5
Content hash
e1001ed5
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