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

MacHandler Class Reference

#include <mac-802_3.h>

Inheritance diagram for MacHandler:

Inheritance graph
[legend]
Collaboration diagram for MacHandler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MacHandler (Mac802_3 *m)
virtual void handle (Event *e)=0
virtual void cancel ()
bool busy (void)
double expire (void)

Protected Attributes

Handlercallback
Mac802_3mac
Event intr
bool busy_

Constructor & Destructor Documentation

MacHandler::MacHandler Mac802_3 m  )  [inline]
 

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

References busy_, callback, and mac.

00036 :  callback(0), mac(m), busy_(false) {}


Member Function Documentation

bool MacHandler::busy void   )  [inline]
 

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

References busy_.

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

00039 { return busy_; }

void MacHandler::cancel  )  [inline, virtual]
 

Reimplemented in Mac8023HandlerSend, MacHandlerRecv, MacHandlerRetx, and MacHandlerIFS.

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

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

Referenced by MacHandlerIFS::cancel().

00026                                {
00027         PRNT_MAC_FUNCS(mac);
00028         Scheduler& s = Scheduler::instance();
00029         assert(busy_);
00030         s.cancel(&intr);
00031         // No need to free the event intr since it's statically allocated.
00032         busy_ = 0;
00033 }

Here is the call graph for this function:

double MacHandler::expire void   )  [inline]
 

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

References intr, and Event::time_.

Referenced by Mac802_3::sendUp().

00040 { return intr.time_; }

virtual void MacHandler::handle Event e  )  [pure virtual]
 

Implements Handler.

Implemented in Mac8023HandlerSend, MacHandlerRecv, MacHandlerRetx, and MacHandlerIFS.


Member Data Documentation

bool MacHandler::busy_ [protected]
 

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

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

Handler* MacHandler::callback [protected]
 

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

Referenced by MacHandler().

Event MacHandler::intr [protected]
 

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

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

Mac802_3* MacHandler::mac [protected]
 

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

Referenced by MacHandlerIFS::cancel(), MacHandlerRetx::cancel(), MacHandlerRecv::cancel(), Mac8023HandlerSend::cancel(), cancel(), MacHandlerIFS::handle(), MacHandlerRetx::handle(), MacHandlerRecv::handle(), Mac8023HandlerSend::handle(), MacHandler(), MacHandlerIFS::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:10 2004 for NS2.26SourcesOriginal by doxygen 1.3.3