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

MacHandlerIFS Class Reference

#include <mac-802_3.h>

Inheritance diagram for MacHandlerIFS:

Inheritance graph
[legend]
Collaboration diagram for MacHandlerIFS:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MacHandlerIFS (Mac802_3 *m)
void handle (Event *)
void schedule (double t)
void cancel ()
bool busy (void)
double expire (void)

Protected Attributes

Handlercallback
Mac802_3mac
Event intr
bool busy_

Constructor & Destructor Documentation

MacHandlerIFS::MacHandlerIFS Mac802_3 m  )  [inline]
 

Definition at line 97 of file mac-802_3.h.

00097 : MacHandler(m) {}


Member Function Documentation

bool MacHandler::busy void   )  [inline, inherited]
 

Definition at line 39 of file mac-802_3.h.

References MacHandler::busy_.

Referenced by Mac802_3::collision(), Mac802_3::recv_complete(), Mac802_3::resume(), Mac802_3::sendUp(), and Mac802_3::transmit().

00039 { return busy_; }

void MacHandlerIFS::cancel  )  [inline, virtual]
 

Reimplemented from MacHandler.

Definition at line 61 of file mac-802_3.cc.

References MacHandler::cancel(), MacHandler::mac, and PRNT_MAC_FUNCS.

Referenced by Mac802_3::collision(), and Mac802_3::sendUp().

00061                                   {
00062         PRNT_MAC_FUNCS(mac);
00063         //fprintf (stderr, "cancelled dtime= %.15f\n", intr.time_- Scheduler::instance().clock());
00064         MacHandler::cancel();
00065 }

Here is the call graph for this function:

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

Definition at line 40 of file mac-802_3.h.

References MacHandler::intr, and Event::time_.

Referenced by Mac802_3::sendUp().

00040 { return intr.time_; }

void MacHandlerIFS::handle Event  )  [inline, virtual]
 

Implements MacHandler.

Definition at line 141 of file mac-802_3.cc.

References MacHandler::busy_, MacHandler::mac, PRNT_MAC_FUNCS, and Mac802_3::resume().

00141                                         { 
00142         PRNT_MAC_FUNCS(mac);
00143         busy_= 0; 
00144         mac->resume(); 
00145 }

Here is the call graph for this function:

void MacHandlerIFS::schedule double  t  )  [inline]
 

Definition at line 134 of file mac-802_3.cc.

References MacHandler::busy_, Scheduler::instance(), MacHandler::intr, MacHandler::mac, PRNT_MAC_FUNCS, and Scheduler::schedule().

Referenced by Mac802_3::collision(), Mac8023HandlerSend::handle(), and Mac802_3::recv_complete().

00134                                             {
00135         PRNT_MAC_FUNCS(mac);
00136         assert(!busy_);
00137         Scheduler &s= Scheduler::instance();
00138         s.schedule(this, &intr, t);
00139         busy_= 1;
00140 }

Here is the call graph for this function:


Member Data Documentation

bool MacHandler::busy_ [protected, inherited]
 

Definition at line 45 of file mac-802_3.h.

Referenced by MacHandler::busy(), MacHandlerRetx::cancel(), MacHandlerRecv::cancel(), Mac8023HandlerSend::cancel(), MacHandler::cancel(), handle(), MacHandlerRetx::handle(), MacHandlerRecv::handle(), Mac8023HandlerSend::handle(), MacHandler::MacHandler(), MacHandlerRetx::reset(), schedule(), MacHandlerRetx::schedule(), MacHandlerRecv::schedule(), and Mac8023HandlerSend::schedule().

Handler* MacHandler::callback [protected, inherited]
 

Definition at line 42 of file mac-802_3.h.

Referenced by MacHandler::MacHandler().

Event MacHandler::intr [protected, inherited]
 

Definition at line 44 of file mac-802_3.h.

Referenced by MacHandlerRetx::cancel(), MacHandlerRecv::cancel(), Mac8023HandlerSend::cancel(), MacHandler::cancel(), MacHandler::expire(), schedule(), MacHandlerRetx::schedule(), MacHandlerRecv::schedule(), and Mac8023HandlerSend::schedule().

Mac802_3* MacHandler::mac [protected, inherited]
 

Definition at line 43 of file mac-802_3.h.

Referenced by cancel(), MacHandlerRetx::cancel(), MacHandlerRecv::cancel(), Mac8023HandlerSend::cancel(), MacHandler::cancel(), handle(), MacHandlerRetx::handle(), MacHandlerRecv::handle(), Mac8023HandlerSend::handle(), MacHandler::MacHandler(), schedule(), MacHandlerRetx::schedule(), MacHandlerRecv::schedule(), and Mac8023HandlerSend::schedule().


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