|
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().