/** \file
\brief ClockService public header */
-#ifndef HH_ClockService_
-#define HH_ClockService_ 1
+#ifndef HH_SENF_Scheduler_ClockService_
+#define HH_SENF_Scheduler_ClockService_ 1
// Custom includes
#include <sys/time.h>
#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 "Console/Parse.hh"
+#include "../Utils/Console/Parse.hh"
//#include "ClockService.mpp"
///////////////////////////////hh.p////////////////////////////////////////
Unsigned integer type representing scheduler time. Scheduler time is measured in
nanoseconds relative to some implementation defined reference time.
*/
- typedef boost::int_fast64_t clock_type;
+ typedef config::time_type clock_type;
/** \brief Supplementary integer type
*/
typedef boost::posix_time::ptime abstime_type;
+ /** \brief Relative time data type
+
+ Boost.DateTime datatype used to represent time intervals
+ */
+ typedef boost::posix_time::time_duration reltime_type;
+
///////////////////////////////////////////////////////////////////////////
static clock_type now(); ///< Return current clock value
monotonous, absolute time may be non-monotonous if
the system date/time is changed. */
+ static reltime_type reltime(clock_type clock); ///< Convert clock to relative time
+ /**< This member converts a clock value into a relative
+ Boost.DateTime time interval
+ \note The resolution of reltime_type might be smaller
+ 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
corresponding clock value.