5 * @author Reinhard Pfau \<reinhard.pfau@intra2net.com\>
7 * @copyright © Copyright 2008 Intra2Net AG
9 * @contact info@intra2net.com
13 #ifndef __ASYNCIO__TIME_TOOLS_HPP__
14 #define __ASYNCIO__TIME_TOOLS_HPP__
22 * @brief structure for storing (a point in time as) seconds and milliseconds.
29 MilliTime(long sec=0, long msec=0);
31 void set(long sec, long msec=0);
33 inline long long get_milliseconds() const
35 return ((long long)mt_sec * 1000L + mt_msec);
36 } // eo get_milliseconds
40 bool operator < (MilliTime& other);
41 bool operator == (MilliTime& other);
43 MilliTime& operator -= (const MilliTime& lhs);
44 MilliTime& operator += (const MilliTime& lhs);
46 }; // eo struct MilliTime
49 inline MilliTime operator + (const MilliTime& rhs, const MilliTime& lhs)
53 } // eo operator + (const MilliTime& rhs, const MilliTime lhs)
55 inline MilliTime operator - (const MilliTime& rhs, const MilliTime& lhs)
59 } // eo operator - (const MilliTime& rhs, const MilliTime lhs)
62 inline bool operator <= (MilliTime& rhs, MilliTime& lhs)
64 return (rhs<lhs) || (rhs==lhs);
65 } // eo operator <= (MilliTime& rhs, MilliTime& lhs)
74 void get_current_real_time(MilliTime& mt);
75 void get_current_monotonic_time(MilliTime& mt);
78 } // eo namespace Utils
79 } // eo namespace AsyncIo