DEENESPTFRRUARHIKOZHNL

struct ara::tsync::UserData

[SWS_TS_14230] Upstream: RS_TS_00014 tekst nog niet geïmporteerd

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

User GuideAI-GEGENEREERD

Stelt een buffer beschikbaar voor de overdracht van kleine toepassingsspecifieke gebruikersdata voor gesynchroniseerde tijdbases.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: 44e6e39606c3 Herkomst Open vragen (1)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt een buffer beschikbaar voor de overdracht van kleine toepassingsspecifieke gebruikersdata voor gesynchroniseerde tijdbases.

De structuur ara::tsync::UserData dient voor de overdracht van compacte toepassingsspecifieke gebruikersdata in het kader van gesynchroniseerde tijdbases. Zij beheert een statische buffer met een onveranderlijke bovengrens van drie bytes, die gedefinieerd is via kMaxUserDataSize [SWS_TS_14231]. Toepassingen schrijven gebruikersdata naar de array en markeren het aantal daadwerkelijk geldige bytes via het veld size [SWS_TS_14232]. Als centrale randvoorwaarde moet de toepassende programmalogica waarborgen dat size de vastgelegde maximale capaciteit nooit overschrijdt en dat toegangen tot niet-geïnitialiseerde buffergebieden worden vermeden.

Context

De datastructuur ara::tsync::UserData dient binnen het functiecluster voor tijdsynchronisatie (tsync) van het AUTOSAR Adaptive Platform voor het inkapselen van toepassingsspecifieke gebruikersdata in het kader van gesynchroniseerde tijdbases. De structuur is gedeclareerd in het headerbestand ara/tsync/synchronized_time_base_status.h. Haar primaire verantwoordelijkheid bestaat erin een compact, statisch gedimensioneerd geheugengebied beschikbaar te stellen voor applicatieve aanvullende gegevens die samen met tijdinformatie worden overgedragen of geëvalueerd. De maximale omvang van deze gebruikersdata is door de statische constante kMaxUserDataSize vastgelegd op precies drie bytes [SWS_TS_14231]. Voor het bufferen van de eigenlijke gebruikersdatabytes wordt de array data van het type ara::core::Array<ara::core::Byte, kMaxUserDataSize> gebruikt [SWS_TS_14233]. Deze buffer wordt aangevuld met het veld size, dat het aantal daadwerkelijk geldige gebruikersdatabytes in de buffer aangeeft [SWS_TS_14232]. Interpretatie: Op basis van de definitielocatie in de header ara/tsync/synchronized_time_base_status.h dient UserData vermoedelijk vooral als statusveld voor de overdracht van kleine toepassingsgerelateerde aanvullende gegevens zoals controlevlaggen of tellers. Vraag Q-a0fb20686141f042 (open) Als interactiepartners treden doorgaans tijdgevende diensten en ontvangende applicaties op, die de status van een gesynchroniseerde tijdbasis opvragen of doorgeven.

Levenscyclus

Als gewoon C++-struct (Value Object) bezit UserData geen complexe interne levenscyclus en ziet zij volledig af van dynamische geheugenallocaties. Instanties ontstaan gewoonlijk op de stack of als ingebed data-element van bovenliggende statusstructuren. De initialisatie vindt direct plaats via elementinitialisatie of standaard C++-toewijzing. Wat betreft de eigendomsverhoudingen is de structuur onderworpen aan waardesemantiek: aanmakende componenten bezitten hun lokale instantie volledig en dragen deze per kopie of referentie over aan interfaces. Aangezien UserData geen interne synchronisatiemechanismen of mutex-vergrendelingen implementeert, is een gelijktijdige lees- en schrijftoegang vanuit meerdere threads tot dezelfde instantie niet thread-veilig. Toepassingen moeten gelijktijdige toegangen beveiligen met externe synchronisatiemaatregelen, terwijl van elkaar onafhankelijke instanties zonder gevaar kunnen worden gebruikt in gelijktijdige contexten. De vernietiging vereist geen expliciete opschoning van resources, aangezien het opgenomen dataveld data [SWS_TS_14233] statisch gereserveerd is.

Gebruikspad

Een typisch gebruikstraject omvat het vullen, doorgeven en evalueren van de databuffer. Eerst maakt een zendende of statusbeschikbaarstellende component een instantie van UserData aan. Vervolgens worden de gebruikersdata naar de array data gekopieerd, waarbij maximaal kMaxUserDataSize bytes mogen worden bezet [SWS_TS_14231], [SWS_TS_14233]. Onmiddellijk daarna stelt de component het veld size in op het daadwerkelijke aantal geschreven bytes [SWS_TS_14232]. Aan de ontvangerszijde controleert de verwerkende toepassing eerst de waarde van size [SWS_TS_14232]. Is size groter dan nul, dan leest de applicatie precies dit geldige prefix uit de buffer data [SWS_TS_14233]. Waarden buiten dit bereik, dus vanaf index size tot en met kMaxUserDataSize - 1, worden genegeerd, omdat zij ongedefinieerde of verouderde restgegevens kunnen bevatten.

Foutscenario's

Foutsituaties vloeien bij UserData primair voort uit inconsistenties tussen de grootte-indicatie en de buffercapaciteit. Neemt het veld size een waarde aan die de gedefinieerde maximale omvang kMaxUserDataSize van drie bytes overschrijdt [SWS_TS_14231], dan is er sprake van een schending van de specificatiegrenzen. In een dergelijk geval dreigen bij het iteratief uitlezen van data [SWS_TS_14233] bufferoverruns of toegangen buiten de gedefinieerde arraygrenzen. Een ander risico bestaat in het foutief uitlezen van data wanneer size gelijk is aan nul [SWS_TS_14232], aangezien er in deze toestand geen geldige gebruikersdata aanwezig zijn. Foutcodes of uitzonderingen worden niet door de structuur zelf gegenereerd; de validatie van randvoorwaarden – in het bijzonder size <= kMaxUserDataSize – berust zodoende volledig bij de toepassende programmalogica.

Deze handleiding is gebaseerd op de specificatie AUTOSAR Adaptive R25-11. Alle gegevens steunen op de gereferentieerde SWS-eisen.

Ledenkaart

Klassendiagram

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

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

Detailweergave

Kies een item in de inhoudsopgave.

Constanten

data variabele

User data buffer (maximum size: kMaxUserDataSize). .

Maximum number of user data bytes. .

static constexpr std::size_t kMaxUserDataSize = 3u;
size variabele

Number of valid user data bytes in data. .

Documentatie van constanten / variabelen

variabele data [SWS_TS_14233] Upstream: RS_TS_00014 tekst nog niet geïmporteerd

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#0609f844
Content hash
0609f844
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

variabele kMaxUserDataSize [SWS_TS_14231] Upstream: RS_TS_00014 tekst nog niet geïmporteerd

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#23d50671
Content hash
23d50671
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

variabele size [SWS_TS_14232] Upstream: RS_TS_00014 tekst nog niet geïmporteerd

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#cbaaa2a8
Content hash
cbaaa2a8
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