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

TxPktTdmaTimer Class Reference

#include <mac-tdma.h>

Inheritance diagram for TxPktTdmaTimer:

Inheritance graph
[legend]
Collaboration diagram for TxPktTdmaTimer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 TxPktTdmaTimer (MacTdma *m)
void handle (Event *e)
virtual void start (Packet *p, double time)
virtual void stop (Packet *p)
virtual void pause (void)
virtual void resume (void)
int busy (void)
int paused (void)
double slottime (void)
double expire (void)

Protected Attributes

MacTdmamac
int busy_
int paused_
Event intr
double stime
double rtime
double slottime_

Constructor & Destructor Documentation

TxPktTdmaTimer::TxPktTdmaTimer MacTdma m  )  [inline]
 

Definition at line 205 of file mac-tdma.h.

00205 : MacTdmaTimer(m) {}


Member Function Documentation

int MacTdmaTimer::busy void   )  [inline, inherited]
 

Definition at line 170 of file mac-tdma.h.

References MacTdmaTimer::busy_.

00170 { return busy_; }

double MacTdmaTimer::expire void   )  [inline, inherited]
 

Definition at line 173 of file mac-tdma.h.

References Scheduler::clock(), Scheduler::instance(), MacTdmaTimer::rtime, and MacTdmaTimer::stime.

00173                                    {
00174                 return ((stime + rtime) - Scheduler::instance().clock());
00175         }

Here is the call graph for this function:

void TxPktTdmaTimer::handle Event e  )  [virtual]
 

Implements MacTdmaTimer.

Definition at line 122 of file mac-tdma.cc.

References MacTdmaTimer::busy_, MacTdmaTimer::mac, MacTdmaTimer::paused_, MacTdmaTimer::rtime, MacTdma::sendHandler(), and MacTdmaTimer::stime.

00123 {       
00124         busy_ = 0;
00125         paused_ = 0;
00126         stime = 0.0;
00127         rtime = 0.0;
00128   
00129         mac->sendHandler(e);
00130 }

Here is the call graph for this function:

virtual void MacTdmaTimer::pause void   )  [inline, virtual, inherited]
 

Definition at line 167 of file mac-tdma.h.

00167 { assert(0); }

int MacTdmaTimer::paused void   )  [inline, inherited]
 

Definition at line 171 of file mac-tdma.h.

References MacTdmaTimer::paused_.

00171 { return paused_; }

virtual void MacTdmaTimer::resume void   )  [inline, virtual, inherited]
 

Definition at line 168 of file mac-tdma.h.

00168 { assert(0); }

double MacTdmaTimer::slottime void   )  [inline, inherited]
 

Definition at line 172 of file mac-tdma.h.

References MacTdmaTimer::slottime_.

00172 { return slottime_; }

void MacTdmaTimer::start Packet p,
double  time
[virtual, inherited]
 

Definition at line 68 of file mac-tdma.cc.

References MacTdmaTimer::busy_, Scheduler::clock(), Scheduler::instance(), MacTdmaTimer::paused_, MacTdmaTimer::rtime, Scheduler::schedule(), and MacTdmaTimer::stime.

Referenced by MacTdma::MacTdma(), MacTdma::send(), MacTdma::sendUp(), and MacTdma::slotHandler().

00069 {
00070         Scheduler &s = Scheduler::instance();
00071         assert(busy_ == 0);
00072   
00073         busy_ = 1;
00074         paused_ = 0;
00075         stime = s.clock();
00076         rtime = time;
00077         assert(rtime >= 0.0);
00078   
00079         s.schedule(this, p, rtime);
00080 }

Here is the call graph for this function:

void MacTdmaTimer::stop Packet p  )  [virtual, inherited]
 

Definition at line 82 of file mac-tdma.cc.

References MacTdmaTimer::busy_, Scheduler::cancel(), Packet::free(), Scheduler::instance(), MacTdmaTimer::paused_, MacTdmaTimer::rtime, and MacTdmaTimer::stime.

00083 {
00084         Scheduler &s = Scheduler::instance();
00085         assert(busy_);
00086   
00087         if(paused_ == 0)
00088                 s.cancel((Event *)p);
00089 
00090         // Should free the packet p.
00091         Packet::free(p);
00092   
00093         busy_ = 0;
00094         paused_ = 0;
00095         stime = 0.0;
00096         rtime = 0.0;
00097 }

Here is the call graph for this function:


Member Data Documentation

int MacTdmaTimer::busy_ [protected, inherited]
 

Definition at line 180 of file mac-tdma.h.

Referenced by MacTdmaTimer::busy(), handle(), RxPktTdmaTimer::handle(), SlotTdmaTimer::handle(), MacTdmaTimer::MacTdmaTimer(), MacTdmaTimer::start(), and MacTdmaTimer::stop().

Event MacTdmaTimer::intr [protected, inherited]
 

Definition at line 182 of file mac-tdma.h.

MacTdma* MacTdmaTimer::mac [protected, inherited]
 

Definition at line 179 of file mac-tdma.h.

Referenced by handle(), RxPktTdmaTimer::handle(), SlotTdmaTimer::handle(), and MacTdmaTimer::MacTdmaTimer().

int MacTdmaTimer::paused_ [protected, inherited]
 

Definition at line 181 of file mac-tdma.h.

Referenced by handle(), RxPktTdmaTimer::handle(), SlotTdmaTimer::handle(), MacTdmaTimer::MacTdmaTimer(), MacTdmaTimer::paused(), MacTdmaTimer::start(), and MacTdmaTimer::stop().

double MacTdmaTimer::rtime [protected, inherited]
 

Definition at line 184 of file mac-tdma.h.

Referenced by MacTdmaTimer::expire(), handle(), RxPktTdmaTimer::handle(), SlotTdmaTimer::handle(), MacTdmaTimer::MacTdmaTimer(), MacTdmaTimer::start(), and MacTdmaTimer::stop().

double MacTdmaTimer::slottime_ [protected, inherited]
 

Definition at line 185 of file mac-tdma.h.

Referenced by MacTdmaTimer::MacTdmaTimer(), and MacTdmaTimer::slottime().

double MacTdmaTimer::stime [protected, inherited]
 

Definition at line 183 of file mac-tdma.h.

Referenced by MacTdmaTimer::expire(), handle(), RxPktTdmaTimer::handle(), SlotTdmaTimer::handle(), MacTdmaTimer::MacTdmaTimer(), MacTdmaTimer::start(), and MacTdmaTimer::stop().


The documentation for this class was generated from the following files:
Generated on Tue Apr 20 13:34:18 2004 for NS2.26SourcesOriginal by doxygen 1.3.3