#include <WirelessMacBase.h>
Inheritance diagram for WirelessMacBase:
Protected Member Functions | |
virtual void | initialize (int) |
Initialization of the module and some variables. | |
void | handleMessage (cMessage *msg) |
Called every time a message arrives. | |
Handle Messages | |
Functions to redefine by the programmer | |
virtual void | handleSelfMsg (cMessage *msg)=0 |
Handle self messages such as timers. | |
virtual void | handleUpperMsg (cMessage *msg)=0 |
Handle messages from upper layer. | |
virtual void | handleLowerMsg (cMessage *msg)=0 |
Handle messages from lower layer. | |
bool | isUpperMsg (cMessage *msg) |
bool | isLowerMsg (cMessage *msg) |
Convenience Functions | |
void | sendDown (cMessage *msg) |
Sends a message to the lower layer. | |
void | sendUp (cMessage *msg) |
Sends a message to the upper layer. | |
Protected Attributes | |
NotificationBoard * | nb |
Cached pointer to the NotificationBoard module. | |
int | uppergateIn |
gate id | |
int | uppergateOut |
int | lowergateIn |
int | lowergateOut |
virtual void WirelessMacBase::handleLowerMsg | ( | cMessage * | msg | ) | [protected, pure virtual] |
void WirelessMacBase::handleMessage | ( | cMessage * | msg | ) | [protected] |
Called every time a message arrives.
00044 { 00045 if (msg->arrivalGateId()==uppergateIn) 00046 handleUpperMsg(msg); 00047 else if (msg->isSelfMessage()) 00048 handleSelfMsg(msg); 00049 else 00050 handleLowerMsg(msg); 00051 }
virtual void WirelessMacBase::handleSelfMsg | ( | cMessage * | msg | ) | [protected, pure virtual] |
virtual void WirelessMacBase::handleUpperMsg | ( | cMessage * | msg | ) | [protected, pure virtual] |
void WirelessMacBase::initialize | ( | int | ) | [protected, virtual] |
Initialization of the module and some variables.
Reimplemented in Ieee80211Mac, CSMAMacLayer, and Mac80211.
00029 { 00030 if (stage==0) 00031 { 00032 uppergateIn = findGate("uppergateIn"); 00033 uppergateOut = findGate("uppergateOut"); 00034 lowergateIn = findGate("lowergateIn"); 00035 lowergateOut = findGate("lowergateOut"); 00036 00037 // get a pointer to the NotificationBoard module 00038 nb = NotificationBoardAccess().get(); 00039 } 00040 }
bool WirelessMacBase::isLowerMsg | ( | cMessage * | msg | ) | [protected] |
bool WirelessMacBase::isUpperMsg | ( | cMessage * | msg | ) | [protected] |
void WirelessMacBase::sendDown | ( | cMessage * | msg | ) | [protected] |
Sends a message to the lower layer.
00064 { 00065 EV << "sending down " << msg << "\n"; 00066 send(msg, lowergateOut); 00067 }
void WirelessMacBase::sendUp | ( | cMessage * | msg | ) | [protected] |
Sends a message to the upper layer.
00070 { 00071 EV << "sending up " << msg << "\n"; 00072 send(msg, uppergateOut); 00073 }
int WirelessMacBase::lowergateIn [protected] |
int WirelessMacBase::lowergateOut [protected] |
NotificationBoard* WirelessMacBase::nb [protected] |
Cached pointer to the NotificationBoard module.
int WirelessMacBase::uppergateIn [protected] |
gate id
int WirelessMacBase::uppergateOut [protected] |