DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
TimestampEstimatorBase.hpp
Go to the documentation of this file.
1
9#ifndef UTILITIES_INCLUDE_UTILITIES_TIMESTAMPESTIMATORBASE_HPP_
10#define UTILITIES_INCLUDE_UTILITIES_TIMESTAMPESTIMATORBASE_HPP_
11
12#include <atomic>
13#include <chrono>
14
15namespace dunedaq {
16namespace utilities {
17
24{
25public:
26 virtual ~TimestampEstimatorBase() = default;
27 virtual uint64_t get_timestamp_estimate() const = 0;
28 virtual std::chrono::microseconds get_wait_estimate(uint64_t ts) const = 0;
29
35
43 WaitStatus wait_for_valid_timestamp(std::atomic<bool>& continue_flag);
44
51 WaitStatus wait_for_timestamp(uint64_t ts, std::atomic<bool>& continue_flag);
52};
53
54} // namespace utilities
55} // namespace dunedaq
56
57#endif // UTILITIES_INCLUDE_UTILITIES_TIMESTAMPESTIMATORBASE_HPP_
TimestampEstimatorBase is the base class for timestamp-based logic in test systems where the current ...
WaitStatus wait_for_valid_timestamp(std::atomic< bool > &continue_flag)
Waits for a valid timestamp to become available. Returns a status value that indicates whether a vali...
WaitStatus wait_for_timestamp(uint64_t ts, std::atomic< bool > &continue_flag)
virtual std::chrono::microseconds get_wait_estimate(uint64_t ts) const =0
virtual uint64_t get_timestamp_estimate() const =0
Including Qt Headers.
PDS Frame with unphysical timestamp detected with ts