DESERT 4.0.0
UWAloha::UWAlohaTimer Class Reference

#include <uwaloha.h>

Inheritance diagram for UWAloha::UWAlohaTimer:
Inheritance graph
Collaboration diagram for UWAloha::UWAlohaTimer:
Collaboration graph

Public Member Functions

 UWAlohaTimer (UWAloha *m)
 
virtual ~UWAlohaTimer ()
 
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 ()
 

Protected Attributes

double start_time
 
double left_duration
 
int counter
 
UWAloha *UWALOHA_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

◆ UWAlohaTimer()

UWAloha::UWAlohaTimer::UWAlohaTimer ( UWAloha m)
inline

Constructor of UWAlohaTimer Class.

◆ ~UWAlohaTimer()

virtual UWAloha::UWAlohaTimer::~UWAlohaTimer ( )
inlinevirtual

Destructor of UWAlohaTimer Class.

Member Function Documentation

◆ freeze()

virtual void UWAloha::UWAlohaTimer::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, UWAloha::UWALOHA_FROZEN, and UWAloha::UWALOHA_RUNNING.

Referenced by UWAloha::stateRxBackoff().

◆ getCounter()

int UWAloha::UWAlohaTimer::getCounter ( )
inline

It provides, how many times a timer ran.

Returns
number of times a timer ran (int).

References counter.

Referenced by UWAloha::getBackoffTime().

◆ getDuration()

double UWAloha::UWAlohaTimer::getDuration ( )
inline

This methods provide the duration of a timer.

Returns
left time duration of a timer (double).

References left_duration.

Referenced by UWAloha::stateBackoff().

◆ incrCounter()

void UWAloha::UWAlohaTimer::incrCounter ( )
inline

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

References counter.

Referenced by UWAloha::getBackoffTime(), and UWAloha::stateTxData().

◆ isActive()

bool UWAloha::UWAlohaTimer::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, UWAloha::UWALOHA_FROZEN, and UWAloha::UWALOHA_RUNNING.

Referenced by UWAloha::stateCheckBackoffExpired().

◆ isExpired()

bool UWAloha::UWAlohaTimer::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 UWAloha::UWALOHA_EXPIRED.

Referenced by UWAloha::stateCheckBackoffExpired().

◆ isFrozen()

bool UWAloha::UWAlohaTimer::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 UWAloha::UWALOHA_FROZEN.

Referenced by UWAloha::stateBackoff().

◆ isIdle()

bool UWAloha::UWAlohaTimer::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 UWAloha::UWALOHA_IDLE.

◆ isRunning()

bool UWAloha::UWAlohaTimer::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 UWAloha::UWALOHA_RUNNING.

◆ resetCounter()

void UWAloha::UWAlohaTimer::resetCounter ( )
inline

Reset the timer counter.

Referenced by UWAloha::stateTxData().

◆ schedule()

virtual void UWAloha::UWAlohaTimer::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 UWAloha::UWALOHA_RUNNING.

Referenced by UWAloha::stateBackoff().

◆ stop()

virtual void UWAloha::UWAlohaTimer::stop ( )
inlinevirtual

Stop the timer any way.

References timer_status, and UWAloha::UWALOHA_IDLE.

Referenced by UWAloha::exitBackoff(), UWAloha::stateIdle(), and UWAloha::stateRxData().

◆ unFreeze()

virtual void UWAloha::UWAlohaTimer::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, UWAloha::UWALOHA_FROZEN, and UWAloha::UWALOHA_RUNNING.

Referenced by UWAloha::stateBackoff().

Member Data Documentation

◆ counter

int UWAloha::UWAlohaTimer::counter
protected

How many times a timer ran.

Referenced by getCounter(), and incrCounter().

◆ left_duration

double UWAloha::UWAlohaTimer::left_duration
protected

How long a timer is going to run more.

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

◆ start_time

double UWAloha::UWAlohaTimer::start_time
protected

Start time of a timer.

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

◆ timer_status

UWAloha* UWALOHA_TIMER_STATUS UWAloha::UWAlohaTimer::timer_status
protected

< Pointer of UWAloha module. Set the status of the timer.

Referenced by UWAloha::AckTimer::expire(), freeze(), isActive(), isExpired(), isFrozen(), isIdle(), isRunning(), schedule(), stop(), and unFreeze().


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