#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>
// 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
// 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.
*/
/** \brief Absolute time data type
- Boost.DateTime datatype used to represent absolute date/time values.
+ <a href="http://www.boost.org/doc/libs/release/libs/date_time/index.html">Boost.DateTime</a>
+ datatype used to represent absolute date/time values.
*/
typedef boost::posix_time::ptime abstime_type;
/** \brief Relative time data type
- Boost.DateTime datatype used to represent time intervals
+ <a href="http://www.boost.org/doc/libs/release/libs/date_time/index.html">Boost.DateTime</a>
+ datatype used to represent time intervals
*/
typedef boost::posix_time::time_duration reltime_type;
///////////////////////////////////////////////////////////////////////////
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.
+ <a href="http://www.boost.org/doc/libs/release/libs/date_time/index.html">Boost.DateTime</a>
+ value.
\note You should not base timeout calculations on this
absolute time value. Clock time is guaranteed to be
monotonous, absolute time may be non-monotonous if
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
+ <a href="http://www.boost.org/doc/libs/release/libs/date_time/index.html">Boost.DateTime</a>
+ time interval
\note The resolution of reltime_type might be smaller
than the clock_type resolution */
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 */
<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);