#include <mac-802_3.h>
Inheritance diagram for MacHandlerRecv:


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 | |
| Handler * | callback |
| Mac802_3 * | mac |
| Event | intr |
| bool | busy_ |
Private Attributes | |
| Packet * | p_ |
|
|
Definition at line 62 of file mac-802_3.h. References p_.
00062 : MacHandler(m), p_(0) {} |
|
|
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_; }
|
|
|
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:

|
|
Definition at line 40 of file mac-802_3.h. References MacHandler::intr, and Event::time_. Referenced by Mac802_3::sendUp().
|
|
|
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:

|
||||||||||||
|
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:

|
|
|
Definition at line 42 of file mac-802_3.h. Referenced by MacHandler::MacHandler(). |
|
|
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(). |
|
|
|
Definition at line 67 of file mac-802_3.h. Referenced by cancel(), handle(), MacHandlerRecv(), and schedule(). |
1.3.3