DESERT 4.0.0
MMacUWSR::UWSRTimer Class Reference

#include <uwsr.h>

Inheritance diagram for MMacUWSR::UWSRTimer:
Inheritance graph
Collaboration diagram for MMacUWSR::UWSRTimer:
Collaboration graph

Public Member Functions

 UWSRTimer (MMacUWSR *m)
 
virtual ~UWSRTimer ()
 
virtual void freeze ()
 
virtual void unFreeze ()
 
virtual void stop ()
 
virtual void schedule (double val)
 
bool isIdle ()
 
bool isRunning ()
 
bool isExpired ()
 
bool isFrozen ()
 
bool isActive ()
 
void resetCounter ()
 
void incrCounter ()
 
int getCounter ()
 
double getDuration ()
 
double leftDuration ()
 

Protected Attributes

double start_time
 
double left_duration
 
int counter
 
MMacUWSR *UWSR_TIMER_STATUS timer_status
 

Detailed Description

Base class of all the timer used in this protocol. This is a derived class of TimerHandler.

Constructor & Destructor Documentation

◆ UWSRTimer()

MMacUWSR::UWSRTimer::UWSRTimer ( MMacUWSR m)
inline

Constructor of UWSRTimer Class.

◆ ~UWSRTimer()

virtual MMacUWSR::UWSRTimer::~UWSRTimer ( )
inlinevirtual

Destructor of UWSRTimer Class.

Member Function Documentation

◆ freeze()

virtual void MMacUWSR::UWSRTimer::freeze ( )
inlinevirtual

It freezes or in another word, it stops the timer for some time. Suppose, for some reason we want to stop a timer for some period and we want to run this timer from where it was stopped. This function stops the timer and save the left time duration it must run.

References left_duration, start_time, timer_status, MMacUWSR::UWSR_FROZEN, and MMacUWSR::UWSR_RUNNING.

◆ getCounter()

int MMacUWSR::UWSRTimer::getCounter ( )
inline

It provides, how many times a timer ran.

Returns
number of times a timer ran (int).

References counter.

◆ getDuration()

double MMacUWSR::UWSRTimer::getDuration ( )
inline

This methods provide the duration of a timer.

Returns
duration of a timer (double).

References left_duration.

◆ incrCounter()

void MMacUWSR::UWSRTimer::incrCounter ( )
inline

Increment the timer counter. It helps to know the statics of the timer.

References counter.

◆ isActive()

bool MMacUWSR::UWSRTimer::isActive ( )
inline

It tells whether the timer is active or not.

Returns
1 if the timer is active and 0 if it is not.

References timer_status, MMacUWSR::UWSR_FROZEN, and MMacUWSR::UWSR_RUNNING.

◆ isExpired()

bool MMacUWSR::UWSRTimer::isExpired ( )
inline

Tells whether the timer is expired or not.

Returns
1 if the timer expired and 0 if it is not.

References timer_status, and MMacUWSR::UWSR_EXPIRED.

◆ isFrozen()

bool MMacUWSR::UWSRTimer::isFrozen ( )
inline

It tells whether the timer is in freeze mode or not.

Returns
1 if the timer is in freeze mode and 0 if it is not.

References timer_status, and MMacUWSR::UWSR_FROZEN.

◆ isIdle()

bool MMacUWSR::UWSRTimer::isIdle ( )
inline

It tells whether the timer is in Idle state or not.

Returns
1 if the timer is idle and 0 if it is not.

References timer_status, and MMacUWSR::UWSR_IDLE.

◆ isRunning()

bool MMacUWSR::UWSRTimer::isRunning ( )
inline

This method tells whether the timer is in Running state or not.

Returns
1 if the timer is running and 0 if it is not.

References timer_status, and MMacUWSR::UWSR_RUNNING.

◆ leftDuration()

double MMacUWSR::UWSRTimer::leftDuration ( )
inline

This methods provide the remaining duration of a timer.

Returns
left time duration of a timer (double).

References start_time.

◆ resetCounter()

void MMacUWSR::UWSRTimer::resetCounter ( )
inline

Reset the timer counter.

◆ schedule()

virtual void MMacUWSR::UWSRTimer::schedule ( double  val)
inlinevirtual

Schedule the time, i.e., how long a timer is going to run.

Parameters
doubletime

References left_duration, start_time, timer_status, and MMacUWSR::UWSR_RUNNING.

◆ stop()

virtual void MMacUWSR::UWSRTimer::stop ( )
inlinevirtual

Stop the timer any way.

References timer_status, and MMacUWSR::UWSR_IDLE.

◆ unFreeze()

virtual void MMacUWSR::UWSRTimer::unFreeze ( )
inlinevirtual

It starts the timer from where it was stopped. To run any freeze timer, we can use unfreeze method.

References left_duration, start_time, timer_status, MMacUWSR::UWSR_FROZEN, and MMacUWSR::UWSR_RUNNING.

Member Data Documentation

◆ counter

int MMacUWSR::UWSRTimer::counter
protected

How many times a timer ran.

Referenced by getCounter(), and incrCounter().

◆ left_duration

double MMacUWSR::UWSRTimer::left_duration
protected

How long a timer is going to run more.

Referenced by freeze(), getDuration(), schedule(), and unFreeze().

◆ start_time

double MMacUWSR::UWSRTimer::start_time
protected

Start time of a timer.

Referenced by freeze(), leftDuration(), schedule(), and unFreeze().

◆ timer_status

MMacUWSR* UWSR_TIMER_STATUS MMacUWSR::UWSRTimer::timer_status
protected

The documentation for this class was generated from the following file: