Time Sync Client#
Time Sync Client
|
status: draft
security: NO
safety: ASIL_B
|
||||
Time Sync Client
|
status: valid
security: NO
safety: ASIL_B
|
||||
Abstract#
This component encapsulates the IPC mechanisms for time synchronization data exchange between the components time_slave and time_daemon.
Specification#
The ts_client component provides shared memory IPC channel for gPTP time synchronization data exchange between one publisher and multiple readers within ECU.
Channel lifecycle follows producer-consumer model:
Channel setup: Publisher creates shared memory channel and Receiver opens existing channel in read-only mode.
Validation and synchronization: Receiver validates shared memory region on open, then reads data through lock-free synchronization with concurrent write detection.
Data exchange: Channel carries synchronization status, Sync/FollowUp metadata, PDelay metadata, and time correlation data for downstream processing.
Key Behaviors#
Lock-Free Multi-Reader Access: Multiple readers can access same shared memory channel concurrently while single publisher writes.
Data Integrity Handling: Receiver reports invalid or corrupted reads when integrity checks fail.
Platform Support: Shared memory IPC flow supported on Linux and QNX 8.0 SDP.
Error Reporting: Shared memory create/open/validation failures are logged via score::mw::log.
Cache-Aware Layout: Shared memory layout is optimized to reduce cache contention between writer and readers.
Assumptions of Use#
Only one publisher process may open and write given shared memory segment. Users must configure permissions so publisher has write access and readers have read access.
Footnotes#
Further Documentation of the component can be found in the following sections: