cwTime.h/cpp,cwDnsSd.cpp,cwMdns.cpp : Changed cwTime interface to use all references rather than pointers as arguments.

This commit is contained in:
kevin.larke 2020-04-17 11:16:21 -04:00
parent 3ecea739f1
commit 03d24fbbdc
4 changed files with 36 additions and 34 deletions

View File

@ -150,7 +150,7 @@ namespace cw
time::spec_t t1; time::spec_t t1;
time::get(t1); time::get(t1);
unsigned ms = time::elapsedMs( &p->t0, &t1 ); unsigned ms = time::elapsedMs( p->t0, t1 );
if( ms > 50 ) if( ms > 50 )
{ {
p->cbCnt+=1; p->cbCnt+=1;

View File

@ -1099,7 +1099,7 @@ bool tcpReceiveCallback( void* arg )
case 2: case 2:
{ {
time::get(t1); time::get(t1);
if( time::elapsedMs( &app->t0, &t1 ) >= 4000 ) if( time::elapsedMs( app->t0, t1 ) >= 4000 )
{ {
send_heart_beat(app,sockH); send_heart_beat(app,sockH);
app->t0 = t1; app->t0 = t1;

View File

@ -47,25 +47,25 @@ void cw::time::get( spec_t& t )
// this assumes that the seconds have been normalized to a recent start time // this assumes that the seconds have been normalized to a recent start time
// so as to avoid overflow // so as to avoid overflow
unsigned cw::time::elapsedMicros( const spec_t* t0, const spec_t* t1 ) unsigned cw::time::elapsedMicros( const spec_t& t0, const spec_t& t1 )
{ {
// convert seconds to usecs // convert seconds to usecs
long u0 = t0->tv_sec * 1000000; long u0 = t0.tv_sec * 1000000;
long u1 = t1->tv_sec * 1000000; long u1 = t1.tv_sec * 1000000;
// convert nanoseconds to usec // convert nanoseconds to usec
u0 += t0->tv_nsec / 1000; u0 += t0.tv_nsec / 1000;
u1 += t1->tv_nsec / 1000; u1 += t1.tv_nsec / 1000;
// take diff between t1 and t0 // take diff between t1 and t0
return u1 - u0; return u1 - u0;
} }
unsigned cw::time::elapsedMs( const spec_t* t0, const spec_t* t1 ) unsigned cw::time::elapsedMs( const spec_t& t0, const spec_t& t1 )
{ return elapsedMicros(t0,t1)/1000; } { return elapsedMicros(t0,t1)/1000; }
unsigned cw::time::absElapsedMicros( const spec_t* t0, const spec_t* t1 ) unsigned cw::time::absElapsedMicros( const spec_t& t0, const spec_t& t1 )
{ {
if( isLTE(t0,t1) ) if( isLTE(t0,t1) )
return elapsedMicros(t0,t1); return elapsedMicros(t0,t1);
@ -73,7 +73,7 @@ unsigned cw::time::absElapsedMicros( const spec_t* t0, const spec_t* t1 )
return elapsedMicros(t1,t0); return elapsedMicros(t1,t0);
} }
int cw::time::diffMicros( const spec_t* t0, const spec_t* t1 ) int cw::time::diffMicros( const spec_t& t0, const spec_t& t1 )
{ {
if( isLTE(t0,t1) ) if( isLTE(t0,t1) )
return elapsedMicros(t0,t1); return elapsedMicros(t0,t1);
@ -81,38 +81,38 @@ int cw::time::diffMicros( const spec_t* t0, const spec_t* t1 )
return -((int)elapsedMicros(t1,t0)); return -((int)elapsedMicros(t1,t0));
} }
bool cw::time::isLTE( const spec_t* t0, const spec_t* t1 ) bool cw::time::isLTE( const spec_t& t0, const spec_t& t1 )
{ {
if( t0->tv_sec < t1->tv_sec ) if( t0.tv_sec < t1.tv_sec )
return true; return true;
if( t0->tv_sec == t1->tv_sec ) if( t0.tv_sec == t1.tv_sec )
return t0->tv_nsec <= t1->tv_nsec; return t0.tv_nsec <= t1.tv_nsec;
return false; return false;
} }
bool cw::time::isGTE( const spec_t* t0, const spec_t* t1 ) bool cw::time::isGTE( const spec_t& t0, const spec_t& t1 )
{ {
if( t0->tv_sec > t1->tv_sec ) if( t0.tv_sec > t1.tv_sec )
return true; return true;
if( t0->tv_sec == t1->tv_sec ) if( t0.tv_sec == t1.tv_sec )
return t0->tv_nsec >= t1->tv_nsec; return t0.tv_nsec >= t1.tv_nsec;
return false; return false;
} }
bool cw::time::isEqual( const spec_t* t0, const spec_t* t1 ) bool cw::time::isEqual( const spec_t& t0, const spec_t& t1 )
{ return t0->tv_sec==t1->tv_sec && t0->tv_nsec==t1->tv_nsec; } { return t0.tv_sec==t1.tv_sec && t0.tv_nsec==t1.tv_nsec; }
bool cw::time::isZero( const spec_t* t0 ) bool cw::time::isZero( const spec_t& t0 )
{ return t0->tv_sec==0 && t0->tv_nsec==0; } { return t0.tv_sec==0 && t0.tv_nsec==0; }
void cw::time::setZero( spec_t* t0 ) void cw::time::setZero( spec_t& t0 )
{ {
t0->tv_sec = 0; t0.tv_sec = 0;
t0->tv_nsec = 0; t0.tv_nsec = 0;
} }

View File

@ -23,36 +23,38 @@ namespace cw
// Return the elapsed time (t1 - t0) in microseconds // Return the elapsed time (t1 - t0) in microseconds
// t1 is assumed to be at a later time than t0. // t1 is assumed to be at a later time than t0.
unsigned elapsedMicros( const spec_t* t0, const spec_t* t1 ); unsigned elapsedMicros( const spec_t& t0, const spec_t& t1 );
// Wrapper on elapsedMicros() // Wrapper on elapsedMicros()
unsigned elapsedMs( const spec_t* t0, const spec_t* t1 ); unsigned elapsedMs( const spec_t& t0, const spec_t& t1 );
// Same as elapsedMicros() but the times are not assumed to be ordered. // Same as elapsedMicros() but the times are not assumed to be ordered.
// The function therefore begins by swapping t1 and t0 if t0 is after t1. // The function therefore begins by swapping t1 and t0 if t0 is after t1.
unsigned absElapsedMicros( const spec_t* t0, const spec_t* t1 ); unsigned absElapsedMicros( const spec_t& t0, const spec_t& t1 );
// Same as elapsedMicros() but returns a negative value if t0 is after t1. // Same as elapsedMicros() but returns a negative value if t0 is after t1.
int diffMicros( const spec_t* t0, const spec_t* t1 ); int diffMicros( const spec_t& t0, const spec_t& t1 );
// Returns true if t0 <= t1. // Returns true if t0 <= t1.
bool isLTE( const spec_t* t0, const spec_t* t1 ); bool isLTE( const spec_t& t0, const spec_t& t1 );
// Return true if t0 >= t1. // Return true if t0 >= t1.
bool isGTE( const spec_t* t0, const spec_t* t1 ); bool isGTE( const spec_t& t0, const spec_t& t1 );
bool isEqual( const spec_t* t0, const spec_t* t1 ); bool isEqual( const spec_t& t0, const spec_t& t1 );
bool isZero( const spec_t* t0 ); bool isZero( const spec_t& t0 );
void setZero( spec_t* t0 ); void setZero( spec_t& t0 );
rc_t now( spec_t& ts ); rc_t now( spec_t& ts );
// Advance 'ts' by 'ms' milliseconds.
void advanceMs( spec_t& ts, unsigned ms ); void advanceMs( spec_t& ts, unsigned ms );
// Advance the current time by 'ms' milliseconds;
rc_t futureMs( spec_t& ts, unsigned ms ); rc_t futureMs( spec_t& ts, unsigned ms );
//) //)