DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
dunedaq::dfmessages::TimeSync Struct Reference

A synthetic message used to ensure that all elements of a DAQ system are synchronized. More...

#include <TimeSync.hpp>

Public Member Functions

 TimeSync ()=default
 
 TimeSync (timestamp_t daq_time, system_time_t sys_time=gettimeofday_us())
 Construct a TimeSync message.
 
 DUNE_DAQ_SERIALIZE (TimeSync, daq_time, system_time, run_number, sequence_number, source_pid)
 

Static Public Member Functions

static system_time_t gettimeofday_us ()
 Get the current system time.
 

Public Attributes

timestamp_t daq_time { TypeDefaults::s_invalid_timestamp }
 The current DAQ time.
 
system_time_t system_time { TypeDefaults::s_invalid_system_time }
 The current system time.
 
uint64_t sequence_number { 0 }
 Sequence Number of this message, for debugging.
 
run_number_t run_number { 0 }
 Run number at time of creation.
 
uint32_t source_pid { 0 }
 PID of the creating process, for debugging.
 

Detailed Description

A synthetic message used to ensure that all elements of a DAQ system are synchronized.

Definition at line 24 of file TimeSync.hpp.

Constructor & Destructor Documentation

◆ TimeSync() [1/2]

dunedaq::dfmessages::TimeSync::TimeSync ( )
default

◆ TimeSync() [2/2]

dunedaq::dfmessages::TimeSync::TimeSync ( timestamp_t daq_time,
system_time_t sys_time = gettimeofday_us() )
inlineexplicit

Construct a TimeSync message.

Parameters
daq_timeThe current DAQ time
sys_timeThe current system time. Will be initialized to gettimeofday_us() if unset

Definition at line 44 of file TimeSync.hpp.

46 , system_time(sys_time)
47 {}
timestamp_t daq_time
The current DAQ time.
Definition TimeSync.hpp:27
system_time_t system_time
The current system time.
Definition TimeSync.hpp:29

Member Function Documentation

◆ DUNE_DAQ_SERIALIZE()

dunedaq::dfmessages::TimeSync::DUNE_DAQ_SERIALIZE ( TimeSync ,
daq_time ,
system_time ,
run_number ,
sequence_number ,
source_pid  )

◆ gettimeofday_us()

static system_time_t dunedaq::dfmessages::TimeSync::gettimeofday_us ( )
inlinestatic

Get the current system time.

Returns
A system_time_t containing the current system time

system_time_t values are defined as the number of microseconds since the system clock epoch

Definition at line 55 of file TimeSync.hpp.

56 {
57 struct timeval tv;
58 gettimeofday(&tv, nullptr);
59 return static_cast<system_time_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
60 }
uint64_t system_time_t
System times are represented using a 64-bit unsigned integer This number is defined as the number of ...
Definition Types.hpp:62

Member Data Documentation

◆ daq_time

timestamp_t dunedaq::dfmessages::TimeSync::daq_time { TypeDefaults::s_invalid_timestamp }

The current DAQ time.

Definition at line 27 of file TimeSync.hpp.

static constexpr timestamp_t s_invalid_timestamp
An invalid timestamp.
Definition Types.hpp:65

◆ run_number

run_number_t dunedaq::dfmessages::TimeSync::run_number { 0 }

Run number at time of creation.

Definition at line 33 of file TimeSync.hpp.

33{ 0 };

◆ sequence_number

uint64_t dunedaq::dfmessages::TimeSync::sequence_number { 0 }

Sequence Number of this message, for debugging.

Definition at line 31 of file TimeSync.hpp.

31{ 0 }; // NOLINT(build/unsigned)

◆ source_pid

uint32_t dunedaq::dfmessages::TimeSync::source_pid { 0 }

PID of the creating process, for debugging.

Definition at line 35 of file TimeSync.hpp.

35{ 0 }; // NOLINT(build/unsigned)

◆ system_time

system_time_t dunedaq::dfmessages::TimeSync::system_time { TypeDefaults::s_invalid_system_time }

The current system time.

Definition at line 29 of file TimeSync.hpp.

static constexpr system_time_t s_invalid_system_time
An invalid system time.
Definition Types.hpp:72

The documentation for this struct was generated from the following file: