From de197c20f34a69f7d06b1b28dc573d6f65af218c Mon Sep 17 00:00:00 2001 From: g0dil <g0dil@wiback.org> Date: Fri, 21 Nov 2008 16:57:18 +0000 Subject: [PATCH] Scheduler/ClockService: Add reltime() and reltime_type --- Scheduler/ClockService.cci | 9 +++++++++ Scheduler/ClockService.hh | 12 ++++++++++++ 2 files changed, 21 insertions(+) diff --git a/Scheduler/ClockService.cci b/Scheduler/ClockService.cci index 3c159550b..791a403f6 100644 --- a/Scheduler/ClockService.cci +++ b/Scheduler/ClockService.cci @@ -83,6 +83,15 @@ prefix_ senf::ClockService::abstime_type senf::ClockService::abstime(clock_type return instance().abstime_m(clock); } +prefix_ senf::ClockService::reltime_type senf::ClockService::reltime(clock_type clock) +{ +#ifdef BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG + return boost::posix_time::nanoseconds(clock); +#else + return boost::posix_time::microseconds((clock+500)/1000); +#endif +} + prefix_ senf::ClockService::clock_type senf::ClockService::clock(abstime_type time) { return instance().clock_m(time); diff --git a/Scheduler/ClockService.hh b/Scheduler/ClockService.hh index 02082ea05..6067cec32 100644 --- a/Scheduler/ClockService.hh +++ b/Scheduler/ClockService.hh @@ -86,6 +86,12 @@ namespace senf { */ 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 @@ -98,6 +104,12 @@ namespace senf { 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. -- GitLab