Ieee80211MgmtAPSimplified Class Reference

#include <Ieee80211MgmtAPSimplified.h>

Inheritance diagram for Ieee80211MgmtAPSimplified:

Ieee80211MgmtAPBase Ieee80211MgmtBase PassiveQueueBase INotifiable IPassiveQueue

List of all members.


Detailed Description

Used in 802.11 infrastructure mode: handles management frames for an access point (AP). See corresponding NED file for a detailed description. This implementation ignores many details.

Author:
Andras Varga

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

Member Function Documentation

virtual int Ieee80211MgmtAPSimplified::numInitStages (  )  const [inline, protected, virtual]

Reimplemented from Ieee80211MgmtAPBase.

00037 {return 2;}

void Ieee80211MgmtAPSimplified::initialize ( int  stage  )  [protected, virtual]

Reimplemented from Ieee80211MgmtAPBase.

00029 {
00030     Ieee80211MgmtAPBase::initialize(stage);
00031 }

void Ieee80211MgmtAPSimplified::handleTimer ( cMessage *  msg  )  [protected, virtual]

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00034 {
00035     ASSERT(false);
00036 }

void Ieee80211MgmtAPSimplified::handleUpperMessage ( cPacket *  msg  )  [protected, virtual]

Implements abstract Ieee80211MgmtBase method

Implements Ieee80211MgmtBase.

00039 {
00040     // convert Ethernet frames arriving from MACRelayUnit (i.e. from
00041     // the AP's other Ethernet or wireless interfaces)
00042     Ieee80211DataFrame *frame = convertFromEtherFrame(check_and_cast<EtherFrame *>(msg));
00043     sendOrEnqueue(frame);
00044 }

void Ieee80211MgmtAPSimplified::handleCommand ( int  msgkind,
cPolymorphic *  ctrl 
) [protected, virtual]

Implements abstract Ieee80211MgmtBase method -- throws an error (no commands supported)

Implements Ieee80211MgmtBase.

00047 {
00048     error("handleCommand(): no commands supported");
00049 }

void Ieee80211MgmtAPSimplified::receiveChangeNotification ( int  category,
const cPolymorphic *  details 
) [protected, virtual]

Called by the NotificationBoard whenever a change occurs we're interested in

Implements INotifiable.

00052 {
00053     Enter_Method_Silent();
00054     printNotificationBanner(category, details);
00055 }

void Ieee80211MgmtAPSimplified::handleDataFrame ( Ieee80211DataFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00058 {
00059     // check toDS bit
00060     if (!frame->getToDS())
00061     {
00062         // looks like this is not for us - discard
00063         delete frame;
00064         return;
00065     }
00066 
00067     if (hasRelayUnit)
00068     {
00069         // LAN bridging: if we have a relayUnit, send up the frame to it.
00070         // We don't need to call distributeReceivedDataFrame() here, because
00071         // if the frame needs to be distributed onto the wireless LAN too,
00072         // then relayUnit will send a copy back to us.
00073         send(convertToEtherFrame(frame), "uppergateOut");
00074     }
00075     else
00076     {
00077         // send it out to the destination STA
00078         distributeReceivedDataFrame(frame);
00079     }
00080 }

void Ieee80211MgmtAPSimplified::handleAuthenticationFrame ( Ieee80211AuthenticationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00083 {
00084     dropManagementFrame(frame);
00085 }

void Ieee80211MgmtAPSimplified::handleDeauthenticationFrame ( Ieee80211DeauthenticationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00088 {
00089     dropManagementFrame(frame);
00090 }

void Ieee80211MgmtAPSimplified::handleAssociationRequestFrame ( Ieee80211AssociationRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00093 {
00094     dropManagementFrame(frame);
00095 }

void Ieee80211MgmtAPSimplified::handleAssociationResponseFrame ( Ieee80211AssociationResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00098 {
00099     dropManagementFrame(frame);
00100 }

void Ieee80211MgmtAPSimplified::handleReassociationRequestFrame ( Ieee80211ReassociationRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00103 {
00104     dropManagementFrame(frame);
00105 }

void Ieee80211MgmtAPSimplified::handleReassociationResponseFrame ( Ieee80211ReassociationResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00108 {
00109     dropManagementFrame(frame);
00110 }

void Ieee80211MgmtAPSimplified::handleDisassociationFrame ( Ieee80211DisassociationFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00113 {
00114     dropManagementFrame(frame);
00115 }

void Ieee80211MgmtAPSimplified::handleBeaconFrame ( Ieee80211BeaconFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00118 {
00119     dropManagementFrame(frame);
00120 }

void Ieee80211MgmtAPSimplified::handleProbeRequestFrame ( Ieee80211ProbeRequestFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00123 {
00124     dropManagementFrame(frame);
00125 }

void Ieee80211MgmtAPSimplified::handleProbeResponseFrame ( Ieee80211ProbeResponseFrame *  frame  )  [protected, virtual]

Implements Ieee80211MgmtBase.

00128 {
00129     dropManagementFrame(frame);
00130 }


The documentation for this class was generated from the following files:

Generated on Fri Mar 20 18:51:19 2009 for INET Framework for OMNeT++/OMNEST by  doxygen 1.5.5