9#ifndef UTILITIES_INCLUDE_UTILITIES_TIMESTAMPESTIMATOR_HPP_
10#define UTILITIES_INCLUDE_UTILITIES_TIMESTAMPESTIMATOR_HPP_
50 std::chrono::time_point<std::chrono::steady_clock>
system_time;
TimestampEstimatorBase is the base class for timestamp-based logic in test systems where the current ...
TimestampEstimator is an implementation of TimestampEstimatorBase that uses TimeSync messages from an...
std::atomic< TimeSyncPoint > m_current_timestamp_estimate
uint64_t m_most_recent_system_time
uint64_t get_received_timesync_count() const
virtual ~TimestampEstimator()
std::atomic< uint64_t > m_received_timesync_count
uint64_t get_timestamp_estimate() const override
Returns the current timestamp estimate or a special value if no valid timestamp is available.
void timesync_callback(const T &tsync)
uint64_t m_most_recent_daq_time
std::chrono::microseconds get_wait_estimate(uint64_t ts) const override
void add_timestamp_datapoint(uint64_t daq_time, uint64_t system_time)
uint32_t m_current_process_id
TimestampEstimator(uint32_t run_number, uint64_t clock_frequency_hz)
uint64_t m_clock_frequency_hz
std::mutex m_datapoint_mutex
PDS Frame with unphysical timestamp detected with ts
std::chrono::time_point< std::chrono::steady_clock > system_time