wvtimeutils.cc

00001 /*
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  * Various little time functions...
00006  */
00007 #include "wvtimeutils.h"
00008 
00009 time_t msecdiff(const WvTime &a, const WvTime &b)
00010 {
00011     time_t secdiff = a.tv_sec - b.tv_sec;
00012     time_t usecdiff = a.tv_usec - b.tv_usec;
00013     return secdiff * 1000 + usecdiff / 1000;
00014 }
00015 
00016 
00017 WvTime wvtime()
00018 {
00019     struct timeval tv;
00020     gettimeofday(&tv, 0);
00021     return tv;
00022 }
00023 
00024 
00025 WvTime msecadd(const WvTime &a, time_t msec)
00026 {
00027     WvTime b;
00028     b.tv_sec = a.tv_sec + msec / 1000;
00029     b.tv_usec = a.tv_usec + (msec % 1000) * 1000;
00030     normalize(b);
00031     return b;
00032 }
00033 
00034 
00035 WvTime tvdiff(const WvTime &a, const WvTime &b)
00036 {
00037     WvTime c;
00038     c.tv_sec = a.tv_sec - b.tv_sec;
00039     c.tv_usec = a.tv_usec;
00040 
00041     if (b.tv_usec > a.tv_usec)
00042     {
00043         c.tv_sec--;
00044         c.tv_usec += 1000000;
00045     }
00046 
00047     c.tv_usec -= b.tv_usec;
00048 
00049     normalize(c);
00050     return c;
00051 }
00052 

Generated on Thu May 25 21:51:04 2006 for WvStreams by  doxygen 1.4.6