DEENESPTFRRUARHIKOZHNL

структура ara::tsync::UserData

[SWS_TS_14230] Upstream: RS_TS_00014 текст ещё не импортирован

struct UserData {...};

Structure to define user data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Forwarding-Header#include "ara/tsync/tsync_fwd.h"
Scopenamespace ara::tsync

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

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

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

Структура ara::tsync::UserData служит для передачи компактных пользовательских данных приложения в рамках синхронизированных базисов времени. Она управляет статическим буфером с неизменяемой верхней границей в три байта, которая определена через kMaxUserDataSize [SWS_TS_14231]. Приложения записывают полезные данные в массив и обозначают количество фактически действительных байтов через поле size [SWS_TS_14232]. В качестве ключевого граничного условия логика применяемой программы должна гарантировать, что size никогда не превышает установленную максимальную емкость, и исключать обращения к неинициализированным областям буфера.

Контекст

Структура данных ara::tsync::UserData служит внутри функционального кластера синхронизации времени (tsync) AUTOSAR Adaptive Platform для инкапсуляции пользовательских данных приложения в рамках синхронизированных базисов времени. Структура объявлена в заголовочном файле ara/tsync/synchronized_time_base_status.h. Ее основная задача заключается в предоставлении компактной, статически образмеренной области памяти для прикладных дополнительных данных, которые передаются или анализируются вместе с информацией о времени. Максимальный объем этих полезных данных зафиксирован статической константой kMaxUserDataSize ровно в три байта [SWS_TS_14231]. Для буферизации непосредственных байтов полезных данных используется массив data типа ara::core::Array<ara::core::Byte, kMaxUserDataSize> [SWS_TS_14233]. Этот буфер дополняется полем size, указывающим количество фактически действительных байтов полезных данных в буфере [SWS_TS_14232]. Интерпретация: исходя из места определения в заголовке ara/tsync/synchronized_time_base_status.h, UserData, вероятно, служит главным образом полем статуса для передачи небольшой связанной с приложением дополнительной информации, такой как контрольные флаги или счетчики. Вопрос Q-a0fb20686141f042 (открытый) В качестве партнеров по взаимодействию обычно выступают службы задания времени и принимающие приложения, которые опрашивают или передают статус синхронизированного базиса времени.

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

Будучи обычной структурой C++ (Value Object), UserData не имеет сложного внутреннего жизненного цикла и полностью обходится без динамических выделений памяти. Экземпляры обычно создаются в стеке или как встроенный элемент данных вышестоящих структур статуса. Инициализация выполняется напрямую через инициализацию членов или стандартное присваивание C++. С точки зрения отношений владения структура подчиняется семантике значений: создающие компоненты полностью владеют своим локальным экземпляром и передают его по копии или по ссылке в интерфейсы. Поскольку UserData не реализует внутренних механизмов синхронизации или блокировок мьютексами, параллельный доступ на чтение и запись из нескольких потоков к одному и тому же экземпляру не является потокобезопасным. Приложения должны защищать одновременный доступ внешними мерами синхронизации, в то время как независимые друг от друга экземпляры могут безопасно использоваться в параллельных контекстах. Уничтожение не требует явной очистки ресурсов, поскольку содержащееся поле данных data [SWS_TS_14233] зарезервировано статически.

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

Типичный путь использования включает заполнение, передачу и анализ буфера данных. Сначала отправляющий или предоставляющий статус компонент создает экземпляр UserData. Затем полезные данные копируются в массив data, причем может быть занято не более kMaxUserDataSize байт [SWS_TS_14231], [SWS_TS_14233]. Сразу после этого компонент устанавливает поле size в фактическое количество записанных байтов [SWS_TS_14232]. На стороне получателя обрабатывающее приложение сначала проверяет значение size [SWS_TS_14232]. Если size больше нуля, приложение считывает именно этот действительный префикс из буфера data [SWS_TS_14233]. Значения за пределами этой области, то есть начиная с индекса size по kMaxUserDataSize - 1, игнорируются, так как они могут содержать неопределенные или устаревшие остаточные данные.

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

Ошибочные ситуации у UserData возникают в первую очередь из-за несоответствий между указанием размера и емкостью буфера. Если поле size принимает значение, превышающее определенный максимальный размер kMaxUserDataSize в три байта [SWS_TS_14231], имеет место нарушение границ спецификации. В таком случае при итеративном считывании data [SWS_TS_14233] существует угроза переполнения буфера или обращений за пределы определенных границ массива. Другой риск заключается в ошибочном считывании data, если size равно нулю [SWS_TS_14232], так как в этом состоянии нет действительных полезных данных. Коды ошибок или исключения самой структурой не генерируются; таким образом, валидация предусловий — в частности size <= kMaxUserDataSize — целиком лежит на логике применяемой программы.

Настоящее руководство основано на спецификации AUTOSAR Adaptive R25-11. Все сведения опираются на указанные требования SWS.

Карта членов

Константы

3

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

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

G nara__tsync__UserData398 «struct» UserData + data + kMaxUserDataSize + size

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

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

Константы

data переменная

User data buffer (maximum size: kMaxUserDataSize). .

kMaxUserDataSize переменная

Maximum number of user data bytes. .

static constexpr std::size_t kMaxUserDataSize = 3u;
size переменная

Number of valid user data bytes in data. .

Документация констант / переменных

переменная data [SWS_TS_14233] Upstream: RS_TS_00014 текст ещё не импортирован

ara::core::Array<ara::core::Byte, kMaxUserDataSize> data;

User data buffer (maximum size: kMaxUserDataSize). .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symboldata
Typara::core::Array< ara::core::Byte, kMaxUserDataSize >

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

Record
AUTOSAR/AP/record/SWS_TS_14233
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14233@rel:R25-11#623e5302
Content hash
623e5302
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14233
Status: valid/unmigrated Version: rel:R25-11#1f27c5a4 Versionshistorie & Revisions (1 transition)
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_TS_14233@rel:R25-11#1f27c5a4
Point-in-Time History:
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

переменная kMaxUserDataSize [SWS_TS_14231] Upstream: RS_TS_00014 текст ещё не импортирован

static constexpr std::size_t kMaxUserDataSize = 3u;

Maximum number of user data bytes. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
SymbolkMaxUserDataSize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14231
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14231@rel:R25-11#e94072e4
Content hash
e94072e4
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14231
Status: valid/unmigrated Version: rel:R25-11#df87c9f1 Versionshistorie & Revisions (1 transition)
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_TS_14231@rel:R25-11#df87c9f1
Point-in-Time History:
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

переменная size [SWS_TS_14232] Upstream: RS_TS_00014 текст ещё не импортирован

std::size_t size;

Number of valid user data bytes in data. .

Header-Datei#include "ara/tsync/synchronized_time_base_status.h"
Scopestruct ara::tsync::UserData
Symbolsize
Typstd::size_t

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

Record
AUTOSAR/AP/record/SWS_TS_14232
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_TS_14232@rel:R25-11#fb7bfd5a
Content hash
fb7bfd5a
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_TimeSynchronization.pdf#nameddest=SWS_TS_14232
Status: valid/unmigrated Version: rel:R25-11#ddf624eb Versionshistorie & Revisions (1 transition)
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_TS_14232@rel:R25-11#ddf624eb
Point-in-Time History:
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