67 std::atomic<clockid_t>
clockId_{ CLOCK_MONOTONIC };
79 explicit RateOptions(std::string name =
"",
const double timeStep = 0.0,
const double maxTimeStepFactorWarning = 1.0,
80 const double maxTimeStepFactorError = 10.0,
const bool enforceRate =
true,
81 const clockid_t clockId = CLOCK_MONOTONIC)
virtual ~RateOptions()=default
RateOptions(std::string name="", const double timeStep=0.0, const double maxTimeStepFactorWarning=1.0, const double maxTimeStepFactorError=10.0, const bool enforceRate=true, const clockid_t clockId=CLOCK_MONOTONIC)
std::atomic< double > maxTimeStepFactorError_
If the awake time is bigger than the time step multiplied by this factor, it counts as an error...
RateOptions(const RateOptions &other)
std::atomic< double > timeStep_
Time step in seconds.
virtual bool isValid() const
std::atomic< bool > enforceRate_
Boolean indicating whether the rate should be enforced.
std::string name_
Name for printing.
RateOptions(RateOptions &&other) noexcept
RateOptions & operator=(const RateOptions &other)
std::atomic< clockid_t > clockId_
Linux clock ID.
std::atomic< double > maxTimeStepFactorWarning_
If the awake time is bigger than the time step multiplied by this factor, it counts as an warning...