src/devices/wifi/qap-wifi-mac.h
changeset 4720 15221757964f
parent 4461 ab9b58d664d7
child 5524 efed7493f2c1
equal deleted inserted replaced
4716:055af17f7225 4720:15221757964f
    85   void SetBeaconInterval (Time interval);
    85   void SetBeaconInterval (Time interval);
    86   Time GetBeaconInterval (void) const;
    86   Time GetBeaconInterval (void) const;
    87   void StartBeaconing (void);
    87   void StartBeaconing (void);
    88 
    88 
    89 private:
    89 private:
       
    90   typedef std::map<AccessClass, Ptr<EdcaTxopN> > Queues;
       
    91   typedef std::list<std::pair<Ptr<Packet>, AmsduSubframeHeader> > DeaggregatedMsdus;
       
    92   typedef std::list<std::pair<Ptr<Packet>, AmsduSubframeHeader> >::const_iterator DeaggregatedMsdusCI;
       
    93   
    90   virtual void DoDispose (void);
    94   virtual void DoDispose (void);
    91   void Receive (Ptr<Packet> packet, WifiMacHeader const*hdr);
    95   void Receive (Ptr<Packet> packet, WifiMacHeader const*hdr);
    92   void ForwardUp (Ptr<Packet> packet, Mac48Address from, Mac48Address to);
    96   void ForwardUp (Ptr<Packet> packet, Mac48Address from, Mac48Address to);
    93   void ForwardDown (Ptr<const Packet> packet, Mac48Address from, Mac48Address to);
    97   void ForwardDown (Ptr<const Packet> packet, Mac48Address from, Mac48Address to);
    94   /* Next function is invoked only when ap relies a frame. */
    98   /* Next function is invoked only when ap relies a frame. */
   105   
   109   
   106   void DeaggregateAmsduAndForward (Ptr<Packet> aggregatedPacket, WifiMacHeader const *hdr);
   110   void DeaggregateAmsduAndForward (Ptr<Packet> aggregatedPacket, WifiMacHeader const *hdr);
   107   QapWifiMac &operator = (const QapWifiMac &);
   111   QapWifiMac &operator = (const QapWifiMac &);
   108   QapWifiMac (const QapWifiMac &);
   112   QapWifiMac (const QapWifiMac &);
   109 
   113 
   110   typedef std::map<AccessClass, Ptr<EdcaTxopN> > Queues;
       
   111   typedef std::list<std::pair<Ptr<Packet>, AmsduSubframeHeader> > DeaggregatedMsdus;
       
   112   typedef std::list<std::pair<Ptr<Packet>, AmsduSubframeHeader> >::const_iterator DeaggregatedMsdusCI;
       
   113 
       
   114   Callback<void,Ptr<Packet>, Mac48Address, Mac48Address> m_forwardUp;
       
   115   
       
   116   Ptr<EdcaTxopN> GetVOQueue (void) const;
   114   Ptr<EdcaTxopN> GetVOQueue (void) const;
   117   Ptr<EdcaTxopN> GetVIQueue (void) const;
   115   Ptr<EdcaTxopN> GetVIQueue (void) const;
   118   Ptr<EdcaTxopN> GetBEQueue (void) const;
   116   Ptr<EdcaTxopN> GetBEQueue (void) const;
   119   Ptr<EdcaTxopN> GetBKQueue (void) const;
   117   Ptr<EdcaTxopN> GetBKQueue (void) const;
       
   118   void SetQueue (enum AccessClass ac);
   120 
   119 
   121   void SetVOQueue (Ptr<EdcaTxopN> voQueue);
   120   virtual void FinishConfigureStandard (enum WifiPhyStandard standard);
   122   void SetVIQueue (Ptr<EdcaTxopN> viQueue);
       
   123   void SetBEQueue (Ptr<EdcaTxopN> beQueue);
       
   124   void SetBKQueue (Ptr<EdcaTxopN> bkQueue);
       
   125 
   121 
   126   /*Next map is used only for an esay access to a specific queue*/
       
   127   Queues m_queues;
   122   Queues m_queues;
   128   Ptr<EdcaTxopN> m_voEdca;
       
   129   Ptr<EdcaTxopN> m_viEdca;
       
   130   Ptr<EdcaTxopN> m_beEdca;
       
   131   Ptr<EdcaTxopN> m_bkEdca;
       
   132   Ptr<DcaTxop> m_beaconDca;
   123   Ptr<DcaTxop> m_beaconDca;
   133   Ptr<MacLow> m_low;
   124   Ptr<MacLow> m_low;
   134   Ptr<WifiPhy> m_phy;
   125   Ptr<WifiPhy> m_phy;
   135   Ptr<WifiRemoteStationManager> m_stationManager;
   126   Ptr<WifiRemoteStationManager> m_stationManager;
   136   MacRxMiddle *m_rxMiddle;
   127   MacRxMiddle *m_rxMiddle;
   137   MacTxMiddle *m_txMiddle;
   128   MacTxMiddle *m_txMiddle;
   138   DcfManager *m_dcfManager;
   129   DcfManager *m_dcfManager;
   139   Ssid m_ssid;
   130   Ssid m_ssid;
   140   EventId m_beaconEvent;
   131   EventId m_beaconEvent;
   141   Time m_beaconInterval;
   132   Time m_beaconInterval;
       
   133   Callback<void,Ptr<Packet>, Mac48Address, Mac48Address> m_forwardUp;
   142 };
   134 };
   143 
   135 
   144 }  //namespace ns3
   136 }  //namespace ns3
   145 
   137 
   146 #endif /* QAP_WIFI_MAC_H */
   138 #endif /* QAP_WIFI_MAC_H */