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

MacHandlerRecv Class Reference

#include <mac-802_3.h>

Inheritance diagram for MacHandlerRecv:

Inheritance graph
[legend]
Collaboration diagram for MacHandlerRecv:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 MacHandlerRecv (Mac802_3 *m)
void handle (Event *)
void schedule (Packet *p, double t)
virtual void cancel ()
bool busy (void)
double expire (void)

Protected Attributes

Handlercallback
Mac802_3mac
Event intr
bool busy_

Private Attributes

Packetp_

Constructor & Destructor Documentation

MacHandlerRecv::MacHandlerRecv Mac802_3 m  )  [inline]
 

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

References p_.

00062 : MacHandler(m), p_(0) {}


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 MacHandlerRecv::cancel  )  [inline, virtual]
 

Reimplemented from MacHandler.

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

References MacHandler::busy_, Scheduler::cancel(), Packet::free(), Scheduler::instance(), MacHandler::intr, MacHandler::mac, p_, and PRNT_MAC_FUNCS.

Referenced by Mac802_3::collision().

00044                                    {
00045         PRNT_MAC_FUNCS(mac);
00046         Scheduler& s = Scheduler::instance();
00047         assert(busy_ && p_);
00048         s.cancel(&intr);
00049         busy_ = 0;
00050         Packet::free(p_);
00051         p_= 0;
00052 }

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 MacHandlerRecv::handle Event  )  [virtual]
 

Implements MacHandler.

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

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

00094                                    {
00095         /* Reception Successful */
00096         PRNT_MAC_FUNCS(mac);
00097         busy_ = 0;
00098         mac->recv_complete(p_);
00099         p_= 0;
00100 }

Here is the call graph for this function:

void MacHandlerRecv::schedule Packet p,
double  t
 

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

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

Referenced by Mac802_3::sendUp().

00102                                                  {
00103         PRNT_MAC_FUNCS(mac);
00104         Scheduler& s = Scheduler::instance();
00105         assert(p && !busy_);
00106         s.schedule(this, &intr, t);
00107         busy_ = 1;
00108         p_ = p;
00109 }

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(), cancel(), Mac8023HandlerSend::cancel(), MacHandler::cancel(), MacHandlerIFS::handle(), MacHandlerRetx::handle(), handle(), Mac8023HandlerSend::handle(), MacHandler::MacHandler(), MacHandlerRetx::reset(), MacHandlerIFS::schedule(), MacHandlerRetx::schedule(), 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(), cancel(), Mac8023HandlerSend::cancel(), MacHandler::cancel(), MacHandler::expire(), MacHandlerIFS::schedule(), MacHandlerRetx::schedule(), schedule(), and Mac8023HandlerSend::schedule().

Mac802_3* MacHandler::mac [protected, inherited]
 

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

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

Packet* MacHandlerRecv::p_ [private]
 

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

Referenced by cancel(), handle(), MacHandlerRecv(), and schedule().


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