23#include <isode/base/compat.h>
28 const struct timespec *time2) {
29 if ( time1->tv_sec < time2->tv_sec )
return true;
31 if ( time1->tv_sec > time2->tv_sec )
return false;
33 return time1->tv_nsec < time2->tv_nsec;
43 const struct timespec *time2) {
44 if ( time1->tv_sec < time2->tv_sec ||
45 (time1->tv_sec == time2->tv_sec && time1->tv_nsec <= time2->tv_nsec))
48 unsigned long diff = time1->tv_sec - time2->tv_sec;
50 if ( diff > (ULONG_MAX/1000000)-1 )
return ULONG_MAX;
54 diff += (time1->tv_nsec - time2->tv_nsec)/1000;
60inline void getNow (
struct timespec &now) {
65 now.tv_sec = nows.tv_sec;
66 now.tv_nsec = 1000*nows.tv_usec;
72 now.tv_nsec += 1000*1000*(millisecs % 1000);
73 while ( now.tv_nsec >= 1000*1000*1000 ) {
74 now.tv_nsec -= 1000*1000*1000;
77 now.tv_sec += millisecs / 1000;
87 bool preceeds (
struct timespec t1) {
Comparator class for times.
bool timespec_cmp(const struct timespec *time1, const struct timespec *time2)
Function for comparing two times.
void addMillisecs(struct timespec &now, unsigned millisecs)
Add millisecs to a time.
void getNow(struct timespec &now)
Return the current time.
unsigned long timespec_diff(const struct timespec *time1, const struct timespec *time2)
Function for getting the difference between two times.