49 cycleMinDuration = IceUtil::Time::microSeconds(std::numeric_limits<std::int64_t>::max());
56 const auto waitTime = IceUtil::Time::microSeconds(
58 const double waitTimeDouble = waitTime.toMicroSecondsDouble() -
141 clock_gettime(CLOCK_MONOTONIC, &ts);
142 return IceUtil::Time::microSeconds(ts.tv_sec * 1e6 + ts.tv_nsec / 1000);
IceUtil::Time getMaximumDuration() const
CycleUtil(const IceUtil::Time &cycleDuration, bool forceSystemTime=false)
IceUtil::Time waitForCycleDuration()
This function will wait (virtual or system time) until the cycle time is reached.
IceUtil::Time cycleDuration
IceUtil::Time getStartTime() const
Time when object was constructed or reset was last called.
float getBusyWaitShare() const
IceUtil::Time cycleMinDuration
IceUtil::Time cycleMaxDuration
IceUtil::Time getAverageDuration() const
std::int64_t getCycleCount() const
Count of how many cycles were executed, i.e.
void setBusyWaitShare(float value)
IceUtil::Time getMinimumDuration() const
IceUtil::Time getLastCycleTime() const
Time when the last cycle finished or start time.
void reset()
resets startTime, lastCycleTime and cycleCount.
IceUtil::Time lastCycleTime
static IceUtil::Time now()
static void Sleep(IceUtil::Time duration)
lock the calling thread for a given duration (like usleep(...) but using Timeserver time)
This file offers overloads of toIce() and fromIce() functions for STL container types.