src/devices/wifi/mac-low.h
changeset 3906 01acc159ffb1
parent 3899 804d92c1f7c3
parent 3600 5888dfe3f245
child 4509 b2654e0f071d
equal deleted inserted replaced
3905:99c9346b5d71 3906:01acc159ffb1
   276 
   276 
   277   MacLow ();
   277   MacLow ();
   278   virtual ~MacLow ();
   278   virtual ~MacLow ();
   279 
   279 
   280   void SetPhy (Ptr<WifiPhy> phy);
   280   void SetPhy (Ptr<WifiPhy> phy);
   281   void SetMac (Ptr<WifiMac> mac);
       
   282   void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> manager);
   281   void SetWifiRemoteStationManager (Ptr<WifiRemoteStationManager> manager);
   283 
   282 
   284   Ptr<WifiMac> GetMac (void);
   283   void SetAddress (Mac48Address ad);
       
   284   void SetAckTimeout (Time ackTimeout);
       
   285   void SetCtsTimeout (Time ctsTimeout);
       
   286   void SetSifs (Time sifs);
       
   287   void SetSlotTime (Time slotTime);
       
   288   void SetPifs (Time pifs);
       
   289   void SetBssid (Mac48Address ad);
       
   290   Mac48Address GetAddress (void) const;
       
   291   Time GetAckTimeout (void) const;
       
   292   Time GetCtsTimeout (void) const;
       
   293   Time GetSifs (void) const;
       
   294   Time GetSlotTime (void) const;
       
   295   Time GetPifs (void) const;
       
   296   Mac48Address GetBssid (void) const;
   285 
   297 
   286   /**
   298   /**
   287    * \param callback the callback which receives every incoming packet.
   299    * \param callback the callback which receives every incoming packet.
   288    *
   300    *
   289    * This callback typically forwards incoming packets to
   301    * This callback typically forwards incoming packets to
   343 private:
   355 private:
   344   void CancelAllEvents (void);
   356   void CancelAllEvents (void);
   345   uint32_t GetAckSize (void) const;
   357   uint32_t GetAckSize (void) const;
   346   uint32_t GetRtsSize (void) const;
   358   uint32_t GetRtsSize (void) const;
   347   uint32_t GetCtsSize (void) const;
   359   uint32_t GetCtsSize (void) const;
   348   Time GetSifs (void) const;
       
   349   Time GetPifs (void) const;
       
   350   Time GetSlotTime (void) const;
       
   351   Time GetAckTimeout (void) const;
       
   352   Time GetCtsTimeout (void) const;
       
   353   uint32_t GetSize (Ptr<const Packet> packet, const WifiMacHeader *hdr) const;
   360   uint32_t GetSize (Ptr<const Packet> packet, const WifiMacHeader *hdr) const;
   354   Time NowUs (void) const;
   361   Time NowUs (void) const;
   355   WifiRemoteStation *GetStation (Mac48Address to) const;
   362   WifiRemoteStation *GetStation (Mac48Address to) const;
   356   void ForwardDown (Ptr<const Packet> packet, WifiMacHeader const *hdr, 
   363   void ForwardDown (Ptr<const Packet> packet, WifiMacHeader const *hdr, 
   357                     WifiMode txMode);
   364                     WifiMode txMode);
   386   void SendCurrentTxPacket (void);
   393   void SendCurrentTxPacket (void);
   387   void StartDataTxTimers (void);
   394   void StartDataTxTimers (void);
   388   virtual void DoDispose (void);
   395   virtual void DoDispose (void);
   389 
   396 
   390   Ptr<WifiPhy> m_phy;
   397   Ptr<WifiPhy> m_phy;
   391   Ptr<WifiMac> m_mac;
       
   392   Ptr<WifiRemoteStationManager> m_stationManager;
   398   Ptr<WifiRemoteStationManager> m_stationManager;
   393   MacLowRxCallback m_rxCallback;
   399   MacLowRxCallback m_rxCallback;
   394   typedef std::vector<MacLowNavListener *>::const_iterator NavListenersCI;
   400   typedef std::vector<MacLowNavListener *>::const_iterator NavListenersCI;
   395   typedef std::vector<MacLowNavListener *> NavListeners;
   401   typedef std::vector<MacLowNavListener *> NavListeners;
   396   NavListeners m_navListeners;
   402   NavListeners m_navListeners;
   408 
   414 
   409   Ptr<Packet> m_currentPacket;
   415   Ptr<Packet> m_currentPacket;
   410   WifiMacHeader m_currentHdr;
   416   WifiMacHeader m_currentHdr;
   411   MacLowTransmissionParameters m_txParams;
   417   MacLowTransmissionParameters m_txParams;
   412   MacLowTransmissionListener *m_listener;
   418   MacLowTransmissionListener *m_listener;
       
   419   Mac48Address m_self;
       
   420   Mac48Address m_bssid;
       
   421   Time m_ackTimeout;
       
   422   Time m_ctsTimeout;
       
   423   Time m_sifs;
       
   424   Time m_slotTime;
       
   425   Time m_pifs;
   413 
   426 
   414   Time m_lastNavStart;
   427   Time m_lastNavStart;
   415   Time m_lastNavDuration;
   428   Time m_lastNavDuration;
   416 };
   429 };
   417 
   430