INET Framework for OMNeT++/OMNEST
|
#include <Ieee80211MgmtSTASimplified.h>
Protected Member Functions | |
virtual int | numInitStages () const |
virtual void | initialize (int) |
virtual void | handleTimer (cMessage *msg) |
virtual void | handleUpperMessage (cPacket *msg) |
virtual void | handleCommand (int msgkind, cPolymorphic *ctrl) |
virtual Ieee80211DataFrame * | encapsulate (cPacket *msg) |
virtual void | receiveChangeNotification (int category, const cPolymorphic *details) |
Processing of different frame types | |
virtual void | handleDataFrame (Ieee80211DataFrame *frame) |
virtual void | handleAuthenticationFrame (Ieee80211AuthenticationFrame *frame) |
virtual void | handleDeauthenticationFrame (Ieee80211DeauthenticationFrame *frame) |
virtual void | handleAssociationRequestFrame (Ieee80211AssociationRequestFrame *frame) |
virtual void | handleAssociationResponseFrame (Ieee80211AssociationResponseFrame *frame) |
virtual void | handleReassociationRequestFrame (Ieee80211ReassociationRequestFrame *frame) |
virtual void | handleReassociationResponseFrame (Ieee80211ReassociationResponseFrame *frame) |
virtual void | handleDisassociationFrame (Ieee80211DisassociationFrame *frame) |
virtual void | handleBeaconFrame (Ieee80211BeaconFrame *frame) |
virtual void | handleProbeRequestFrame (Ieee80211ProbeRequestFrame *frame) |
virtual void | handleProbeResponseFrame (Ieee80211ProbeResponseFrame *frame) |
Protected Attributes | |
MACAddress | accessPointAddress |
int | receiveSequence |
Used in 802.11 infrastructure mode: handles management frames for a station (STA). See corresponding NED file for a detailed description. This implementation ignores many details.
Ieee80211DataFrame * Ieee80211MgmtSTASimplified::encapsulate | ( | cPacket * | msg | ) | [protected, virtual] |
Utility function for handleUpperMessage()
Referenced by handleUpperMessage().
{ Ieee80211DataFrame *frame = new Ieee80211DataFrame(msg->getName()); // frame goes to the AP frame->setToDS(true); // receiver is the AP frame->setReceiverAddress(accessPointAddress); // destination address is in address3 Ieee802Ctrl *ctrl = check_and_cast<Ieee802Ctrl *>(msg->removeControlInfo()); ASSERT(!ctrl->getDest().isUnspecified()); frame->setAddress3(ctrl->getDest()); delete ctrl; frame->encapsulate(msg); return frame; }
void Ieee80211MgmtSTASimplified::handleAssociationRequestFrame | ( | Ieee80211AssociationRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleAssociationResponseFrame | ( | Ieee80211AssociationResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleAuthenticationFrame | ( | Ieee80211AuthenticationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleBeaconFrame | ( | Ieee80211BeaconFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleCommand | ( | int | msgkind, |
cPolymorphic * | ctrl | ||
) | [protected, virtual] |
Implements abstract Ieee80211MgmtBase method -- throws an error (no commands supported)
Implements Ieee80211MgmtBase.
{
error("handleCommand(): no commands supported");
}
void Ieee80211MgmtSTASimplified::handleDataFrame | ( | Ieee80211DataFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ sendUp(decapsulate(frame)); }
void Ieee80211MgmtSTASimplified::handleDeauthenticationFrame | ( | Ieee80211DeauthenticationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleDisassociationFrame | ( | Ieee80211DisassociationFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleProbeRequestFrame | ( | Ieee80211ProbeRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleProbeResponseFrame | ( | Ieee80211ProbeResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleReassociationRequestFrame | ( | Ieee80211ReassociationRequestFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleReassociationResponseFrame | ( | Ieee80211ReassociationResponseFrame * | frame | ) | [protected, virtual] |
Implements Ieee80211MgmtBase.
{ dropManagementFrame(frame); }
void Ieee80211MgmtSTASimplified::handleTimer | ( | cMessage * | msg | ) | [protected, virtual] |
void Ieee80211MgmtSTASimplified::handleUpperMessage | ( | cPacket * | msg | ) | [protected, virtual] |
Implements abstract Ieee80211MgmtBase method
Implements Ieee80211MgmtBase.
{ Ieee80211DataFrame *frame = encapsulate(msg); sendOrEnqueue(frame); }
void Ieee80211MgmtSTASimplified::initialize | ( | int | stage | ) | [protected, virtual] |
Reimplemented from Ieee80211MgmtBase.
{ Ieee80211MgmtBase::initialize(stage); if (stage==0) { accessPointAddress.setAddress(par("accessPointAddress").stringValue()); receiveSequence = 0; } }
virtual int Ieee80211MgmtSTASimplified::numInitStages | ( | ) | const [inline, protected, virtual] |
Reimplemented from Ieee80211MgmtBase.
{return 2;}
void Ieee80211MgmtSTASimplified::receiveChangeNotification | ( | int | category, |
const cPolymorphic * | details | ||
) | [protected, virtual] |
Called by the NotificationBoard whenever a change occurs we're interested in
Implements INotifiable.
{ Enter_Method_Silent(); printNotificationBanner(category, details); }
Referenced by encapsulate(), and initialize().
int Ieee80211MgmtSTASimplified::receiveSequence [protected] |
Referenced by initialize().