#include <mac-timers.h>
Inheritance diagram for DeferTimer:


Public Member Functions | |
| DeferTimer (Mac802_11 *m, double s) | |
| void | start (double) |
| void | handle (Event *e) |
| virtual void | stop (void) |
| virtual void | pause (void) |
| virtual void | resume (void) |
| int | busy (void) |
| int | paused (void) |
| double | expire (void) |
Protected Attributes | |
| Mac802_11 * | mac |
| int | busy_ |
| int | paused_ |
| Event | intr |
| double | stime |
| double | rtime |
| double | slottime |
|
||||||||||||
|
Definition at line 88 of file mac-timers.h.
00088 : MacTimer(m,s) {} |
|
|
Definition at line 57 of file mac-timers.h. References MacTimer::busy_. Referenced by Mac802_11::backoffHandler(), Mac802_11::check_pktRTS(), Mac802_11::check_pktTx(), Mac802_11::collision(), Mac802_11::deferHandler(), Mac802_11::dump(), Mac802_11::recvACK(), Mac802_11::recvDATA(), Mac802_11::recvRTS(), Mac802_11::RetransmitDATA(), Mac802_11::RetransmitRTS(), Mac802_11::rx_resume(), Mac802_11::send(), Mac802_11::set_nav(), and Mac802_11::tx_resume().
00057 { return busy_; }
|
|
|
Definition at line 59 of file mac-timers.h. References Scheduler::clock(), Scheduler::instance(), MacTimer::rtime, and MacTimer::stime. Referenced by Mac802_11::collision(), and Mac802_11::dump().
00059 {
00060 return ((stime + rtime) - Scheduler::instance().clock());
00061 }
|
Here is the call graph for this function:

|
|
Implements MacTimer. Definition at line 126 of file mac-timers.cc. References MacTimer::busy_, Mac802_11::deferHandler(), MacTimer::mac, MacTimer::paused_, MacTimer::rtime, and MacTimer::stime.
|
Here is the call graph for this function:

|
|
Reimplemented in BackoffTimer. Definition at line 54 of file mac-timers.h.
00054 { assert(0); }
|
|
|
Definition at line 58 of file mac-timers.h. References MacTimer::paused_. Referenced by Mac802_11::dump(), and Mac802_11::navHandler().
00058 { return paused_; }
|
|
|
Definition at line 55 of file mac-timers.h.
00055 { assert(0); }
|
|
|
Reimplemented from MacTimer. Definition at line 106 of file mac-timers.cc. References MacTimer::busy_, Scheduler::clock(), Scheduler::instance(), MacTimer::intr, MacTimer::paused_, ROUND_TIME, MacTimer::rtime, Scheduler::schedule(), and MacTimer::stime. Referenced by Mac802_11::send(), and Mac802_11::tx_resume().
00107 {
00108 Scheduler &s = Scheduler::instance();
00109
00110 assert(busy_ == 0);
00111
00112 busy_ = 1;
00113 paused_ = 0;
00114 stime = s.clock();
00115 rtime = time;
00116 #ifdef USE_SLOT_TIME
00117 ROUND_TIME();
00118 #endif
00119 assert(rtime >= 0.0);
00120
00121 s.schedule(this, &intr, rtime);
00122 }
|
Here is the call graph for this function:

|
|
Definition at line 87 of file mac-timers.cc. References MacTimer::busy_, Scheduler::cancel(), Scheduler::instance(), MacTimer::intr, MacTimer::paused_, MacTimer::rtime, and MacTimer::stime. Referenced by Mac802_11::collision(), Mac802_11::recvACK(), Mac802_11::recvCTS(), Mac802_11::recvDATA(), Mac802_11::recvRTS(), and Mac802_11::set_nav().
|
Here is the call graph for this function:

|
|
Definition at line 65 of file mac-timers.h. Referenced by MacTimer::busy(), BackoffTimer::handle(), IFTimer::handle(), TxTimer::handle(), RxTimer::handle(), NavTimer::handle(), handle(), MacTimer::MacTimer(), BackoffTimer::pause(), BackoffTimer::resume(), BackoffTimer::start(), start(), MacTimer::start(), and MacTimer::stop(). |
|
|
Definition at line 67 of file mac-timers.h. Referenced by BackoffTimer::pause(), BackoffTimer::resume(), BackoffTimer::start(), start(), MacTimer::start(), and MacTimer::stop(). |
|
|
Definition at line 64 of file mac-timers.h. Referenced by BackoffTimer::handle(), IFTimer::handle(), TxTimer::handle(), RxTimer::handle(), NavTimer::handle(), handle(), MacTimer::MacTimer(), BackoffTimer::pause(), and BackoffTimer::start(). |
|
|
Definition at line 66 of file mac-timers.h. Referenced by BackoffTimer::handle(), IFTimer::handle(), TxTimer::handle(), RxTimer::handle(), NavTimer::handle(), handle(), MacTimer::MacTimer(), BackoffTimer::pause(), MacTimer::paused(), BackoffTimer::resume(), BackoffTimer::start(), start(), MacTimer::start(), and MacTimer::stop(). |
|
|
Definition at line 69 of file mac-timers.h. Referenced by MacTimer::expire(), BackoffTimer::handle(), IFTimer::handle(), TxTimer::handle(), RxTimer::handle(), NavTimer::handle(), handle(), MacTimer::MacTimer(), BackoffTimer::pause(), BackoffTimer::resume(), BackoffTimer::start(), start(), MacTimer::start(), and MacTimer::stop(). |
|
|
Definition at line 70 of file mac-timers.h. Referenced by MacTimer::MacTimer(). |
|
|
Definition at line 68 of file mac-timers.h. Referenced by MacTimer::expire(), BackoffTimer::handle(), IFTimer::handle(), TxTimer::handle(), RxTimer::handle(), NavTimer::handle(), handle(), MacTimer::MacTimer(), BackoffTimer::pause(), BackoffTimer::resume(), BackoffTimer::start(), start(), MacTimer::start(), and MacTimer::stop(). |
1.3.3