Mercurial > hg > beaglert
view include/VirtualClock.h @ 135:e77e2e712fbc ClockSync
To work with the ClockSync plugin
author | Giulio Moro <giuliomoro@yahoo.it> |
---|---|
date | Sat, 12 Sep 2015 20:05:55 +0100 |
parents | |
children | 44d07fa9bd03 |
line wrap: on
line source
#ifndef VIRTUAL_CLOCK_H_INCLUDED #define VIRTUAL_CLOCK_H_INCLUDED #include "stats.hpp" #include "Clock.h" class VirtualClock{ private: myClock_t startTime; myClock_t lastSync; bool firstRun; double period; MovingAverage<double> movingAverage; public: void init(); VirtualClock(); /** Call this method at regular intervals to sync che virtual clock */ void sync(); /** Call this method asynchronously, passing a number of equally spaced events that have elapsed since the last call. */ void sync(double count); /** Get the current time according to the VirtualClock. @return Time elapsed since the first call to sync(), in period units. */ double getNow(); /** Get the length of the period. Get the length of the period (difference between calls to sync() after various filtering operations) */ double getPeriod(); }; #endif /* VIRTUAL_CLOCK_H_INCLUDED */