#define HH_SENF_Scheduler_ClockService_ 1
// Custom includes
-#include <sys/time.h>
+#include <sys/time.h>
#include <boost/utility.hpp>
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/scoped_ptr.hpp>
#include <boost/cstdint.hpp>
-#include "../config.hh"
-#include "../Utils/singleton.hh"
-#include "../Utils/Console/Parse.hh"
+#include <senf/config.hh>
+#include <senf/Utils/singleton.hh>
+#include <senf/Utils/Console/Parse.hh>
//#include "ClockService.mpp"
///////////////////////////////hh.p////////////////////////////////////////
#endif
// Implementation note: The clock value is represented as a 64bit unsigned integer number of
- // nanosecods based on the CLOCK_MONOTONIC POSIX clock.
+ // nanoseconds based on the CLOCK_MONOTONIC POSIX clock.
//
// To allow conversion between clock value and absolute time, the ClockService samples the
// absolute current time and the clock value when the conversion is performed. This is done at
// most once per second on a if-needed basis.
-
+
/** \brief Reliable high precision monotonous clock source
The ClockService provides a highly accurate monotonous clock source based on
\implementation The funny mixture of static and non-static members stems from the old
implementation based on interval timers and gettimeofday(). The current implementation
- usses POSIX clocks and is much simpler and more precise.
+ uses POSIX clocks and is much simpler and more precise.
*/
class ClockService
: singleton<ClockService>
// Types
/** \brief ClockService timer data type
-
+
Unsigned integer type representing scheduler time. Scheduler time is measured in
nanoseconds relative to some implementation defined reference time.
*/
///////////////////////////////////////////////////////////////////////////
static clock_type now(); ///< Return current clock value
-
+
static abstime_type abstime(clock_type clock); ///< Convert clock to absolute time
/**< This member converts a clock value into an absolute
Boost.DateTime value.
than the clock_type resolution */
static clock_type clock(abstime_type time); ///< Convert absolute time to clock value
- /**< This member converst an absolute time value into the
+ /**< This member convert an absolute time value into the
corresponding clock value.
\see abstime */
- static clock_type from_time_t(time_t const & time);
+ static clock_type from_time_t(time_t const & time);
///< Convert legacy time_t to clock value
- /**< This member converts an absolute time value
+ /**< This member converts an absolute time value
represented as a time_t value into a clock value */
- static clock_type from_timeval(timeval const & time);
+ static clock_type from_timeval(timeval const & time);
///< Convert legacy timeval to clock value
/**< This member converts an absolute time value
represented as a timeval value into a clock value */
static int64_type in_hours(clock_type v); ///< Convert \a v to hours
static int64_type in_days(clock_type v); ///< Convert \a v to days
- static void restart(); ///< Force re-syncronisation of abstime and clock
+ static void restart(); ///< Force re-synchronization of abstime and clock
/**< Calling the member should never be necessary since
abstime() / clock() automatically call restart() if
needed */
<tr><td><code>2md</code></td><td>(very unusual) 2 milli-days</td></tr>
</table>
*/
- void parseClockServiceInterval(console::ParseCommandInfo::TokensRange const & tokens,
+ void parseClockServiceInterval(console::ParseCommandInfo::TokensRange const & tokens,
ClockService::clock_type & out);
void formatClockServiceInterval(ClockService::clock_type interval, std::ostream & os);