Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

olsr::utl::TimeVal Class Reference

Proxy class for the timeval standard C data structure. More...

#include <timeval.hh>

List of all members.

Public Member Functions

 TimeVal (unsigned sec, unsigned usec)
 TimeVal (const This &rhs)
 TimeVal (const ::timeval &rhs)
 TimeVal (const unsigned period)
 TimeVal (const int period)
 TimeVal (const double seconds)
int poll_time () const
This operator+ (const This &rhs) const
This operator- (const This &rhs) const
Thisoperator+= (const This &rhs)
bool operator== (const This &rhs) const
bool operator!= (const This &rhs) const
bool operator< (const This &rhs) const
bool operator<= (const This &rhs) const
bool operator> (const This &rhs) const
bool operator>= (const This &rhs) const
float diff (const This &rhs=now()) const
This distance (const This &rhs) const
bool is_past (const This &now=now()) const
This operator+ (unsigned msec) const
Thisoperator+= (unsigned msec)
This operator * (const double &f) const
This operator/ (const double &f) const
This abs () const
 operator::timeval () const
float to_float () const

Static Public Member Functions

static This jitter (const This &j)
static void set_now (const This &now=TimeVal::real_now())
static const TimeValnow ()
static const TimeVal real_now ()
static const TimeVal in (const This &x)
static const TimeVal in_jitter (const This &x)

Private Types

typedef TimeVal This

Private Attributes

timeval _tv
 The time stored in timeval data structure.

Static Private Attributes

static This _now
 Static time reference.


Detailed Description

Proxy class for the timeval standard C data structure.

This class encapsulates all the required time operations.


Member Typedef Documentation

typedef TimeVal olsr::utl::TimeVal::This [private]
 


Constructor & Destructor Documentation

olsr::utl::TimeVal::TimeVal unsigned  sec,
unsigned  usec
[inline]
 

Constructor.

  • sec seconds
  • usec microseconds

olsr::utl::TimeVal::TimeVal const This rhs  )  [inline]
 

Copy constructor.

olsr::utl::TimeVal::TimeVal const ::timeval &  rhs  )  [inline]
 

Copy constructor from timeval standard data structure.

olsr::utl::TimeVal::TimeVal const unsigned  period  )  [inline]
 

Constructor from period in milliseconds.

olsr::utl::TimeVal::TimeVal const int  period  )  [inline]
 

Constructor from period in milliseconds. Provided for convenience.

olsr::utl::TimeVal::TimeVal const double  seconds  )  [inline]
 

Constructor from floating point second count.


Member Function Documentation

TimeVal olsr::utl::TimeVal::abs  )  const [inline]
 

Absolute value operator.

float olsr::utl::TimeVal::diff const This rhs = now()  )  const [inline]
 

TimeVal olsr::utl::TimeVal::distance const This rhs  )  const [inline]
 

Absolute difference computation method.

const TimeVal olsr::utl::TimeVal::in const This x  )  [inline, static]
 

Static convenience future time calculation.

  • x time delay
    Returns:
    now + x

static const TimeVal olsr::utl::TimeVal::in_jitter const This x  )  [inline, static]
 

Static convenience future jitter time calculation.

  • x time jitter
    Returns:
    now + jitter(x)

bool olsr::utl::TimeVal::is_past const This now = now()  )  const [inline]
 

Realistic comparison operator. This takes into account the jitter in signal delivery time. FIXME: this should not be necessary, according to the specifications, but seems to be according to experiments.

  • now right-hand-side operand, default is now

TimeVal olsr::utl::TimeVal::jitter const This j  )  [inline, static]
 

Jitter calculation.

  • j upper bound of random jitter

static const TimeVal& olsr::utl::TimeVal::now  )  [inline, static]
 

Static accessor to current time reference.

TimeVal olsr::utl::TimeVal::operator * const double &  f  )  const [inline]
 

External multiplication with double.

bool olsr::utl::TimeVal::operator!= const This rhs  )  const [inline]
 

TimeVal olsr::utl::TimeVal::operator+ unsigned  msec  )  const [inline]
 

External addition with integer number of milliseconds.

TimeVal olsr::utl::TimeVal::operator+ const This rhs  )  const [inline]
 

Internal addition.

TimeVal & olsr::utl::TimeVal::operator+= unsigned  msec  )  [inline]
 

External self-addition with integer number of milliseconds.

TimeVal & olsr::utl::TimeVal::operator+= const This rhs  )  [inline]
 

Internal self-addition.

TimeVal olsr::utl::TimeVal::operator- const This rhs  )  const [inline]
 

Internal subtraction.

TimeVal olsr::utl::TimeVal::operator/ const double &  f  )  const [inline]
 

External division with double.

olsr::utl::TimeVal::operator::timeval  )  const [inline]
 

Conversion operator to timeval data structure.

bool olsr::utl::TimeVal::operator< const This rhs  )  const [inline]
 

Comparison operator.

bool olsr::utl::TimeVal::operator<= const This rhs  )  const [inline]
 

Comparison operator.

bool olsr::utl::TimeVal::operator== const This rhs  )  const [inline]
 

Equality operator.

bool olsr::utl::TimeVal::operator> const This rhs  )  const [inline]
 

Comparison operator.

bool olsr::utl::TimeVal::operator>= const This rhs  )  const [inline]
 

Comparison operator.

int olsr::utl::TimeVal::poll_time  )  const [inline]
 

const TimeVal olsr::utl::TimeVal::real_now  )  [inline, static]
 

Static accessor to current system time.

void olsr::utl::TimeVal::set_now const This now = TimeVal::real_now()  )  [inline, static]
 

Clock stepping. Called once in a while to set current time.

float olsr::utl::TimeVal::to_float  )  const [inline]
 

Method to convert to floating point number of seconds.


Member Data Documentation

This olsr::utl::TimeVal::_now [static, private]
 

Static time reference.

timeval olsr::utl::TimeVal::_tv [private]
 

The time stored in timeval data structure.


The documentation for this class was generated from the following files:
Generated on Thu Jul 28 21:21:52 2005 for Qolyester daemon by  doxygen 1.4.1