src/devices/wifi/mac-low.h
changeset 5189 8fcdf87a790a
parent 4509 b2654e0f071d
child 5192 fb3d57fd97e4
equal deleted inserted replaced
5188:799fdd8fc54a 5189:8fcdf87a790a
   354    *
   354    *
   355    * This method is typically invoked by the lower PHY layer to notify
   355    * This method is typically invoked by the lower PHY layer to notify
   356    * the MAC layer that a packet was unsuccessfully received.
   356    * the MAC layer that a packet was unsuccessfully received.
   357    */
   357    */
   358   void ReceiveError (Ptr<const Packet> packet, double rxSnr);
   358   void ReceiveError (Ptr<const Packet> packet, double rxSnr);
       
   359   /**
       
   360    * \param duration switching delay duration.
       
   361    *
       
   362    * This method is typically invoked by the PhyMacLowListener to notify
       
   363    * the MAC layer that a channel switching occured.
       
   364    */
       
   365   void NotifySwitchingStartNow (Time duration); 
   359 private:
   366 private:
   360   void CancelAllEvents (void);
   367   void CancelAllEvents (void);
   361   uint32_t GetAckSize (void) const;
   368   uint32_t GetAckSize (void) const;
   362   uint32_t GetRtsSize (void) const;
   369   uint32_t GetRtsSize (void) const;
   363   uint32_t GetCtsSize (void) const;
   370   uint32_t GetCtsSize (void) const;
   400   void SendDataPacket (void);
   407   void SendDataPacket (void);
   401   void SendCurrentTxPacket (void);
   408   void SendCurrentTxPacket (void);
   402   void StartDataTxTimers (void);
   409   void StartDataTxTimers (void);
   403   virtual void DoDispose (void);
   410   virtual void DoDispose (void);
   404 
   411 
       
   412   void SetupPhyMacLowListener (Ptr<WifiPhy> phy); 
       
   413 
   405   Ptr<WifiPhy> m_phy;
   414   Ptr<WifiPhy> m_phy;
   406   Ptr<WifiRemoteStationManager> m_stationManager;
   415   Ptr<WifiRemoteStationManager> m_stationManager;
   407   MacLowRxCallback m_rxCallback;
   416   MacLowRxCallback m_rxCallback;
   408   typedef std::vector<MacLowDcfListener *>::const_iterator DcfListenersCI;
   417   typedef std::vector<MacLowDcfListener *>::const_iterator DcfListenersCI;
   409   typedef std::vector<MacLowDcfListener *> DcfListeners;
   418   typedef std::vector<MacLowDcfListener *> DcfListeners;
   432   Time m_slotTime;
   441   Time m_slotTime;
   433   Time m_pifs;
   442   Time m_pifs;
   434 
   443 
   435   Time m_lastNavStart;
   444   Time m_lastNavStart;
   436   Time m_lastNavDuration;
   445   Time m_lastNavDuration;
       
   446 
       
   447   // Listerner needed to monitor when a channel switching occurs. 
       
   448   class PhyMacLowListener *m_phyMacLowListener; 
   437 };
   449 };
   438 
   450 
   439 } // namespace ns3
   451 } // namespace ns3
   440 
   452 
   441 #endif /* MAC_LOW_H */
   453 #endif /* MAC_LOW_H */