23 #include "ns3/packet.h"
24 #include "ns3/mac48-address.h"
26 #include "ns3/repository.h"
27 #include "ns3/PUmodel.h"
30 #include "wifi-remote-station-manager.h"
32 #include "qos-utils.h"
50 static TypeId GetTypeId (
void);
169 virtual bool SupportsSendFrom (
void)
const = 0;
193 virtual void SetBasicBlockAckTimeout (
Time blockAckTimeout);
194 virtual Time GetBasicBlockAckTimeout (
void)
const;
195 virtual void SetCompressedBlockAckTimeout (
Time blockAckTimeout);
196 virtual Time GetCompressedBlockAckTimeout (
void)
const;
197 virtual bool IsTxRadio (
void) = 0;
198 virtual void SetTxRadio (
bool isTx) = 0;
199 virtual bool IsRxRadio (
void) = 0;
238 void ConfigureDcf (
Ptr<Dcf> dcf, uint32_t cwmin, uint32_t cwmax,
enum AcIndex ac);
239 void ConfigureCCHDcf (
Ptr<Dcf> dcf, uint32_t cwmin, uint32_t cwmax,
enum AcIndex ac);
241 static Time GetDefaultMaxPropagationDelay (
void);
242 static Time GetDefaultSlot (
void);
243 static Time GetDefaultSifs (
void);
244 static Time GetDefaultEifsNoDifs (
void);
245 static Time GetDefaultCtsAckDelay (
void);
246 static Time GetDefaultCtsAckTimeout (
void);
247 static Time GetDefaultBasicBlockAckDelay (
void);
248 static Time GetDefaultBasicBlockAckTimeout (
void);
249 static Time GetDefaultCompressedBlockAckDelay (
void);
250 static Time GetDefaultCompressedBlockAckTimeout (
void);
261 Time m_maxPropagationDelay;
263 void Configure80211a (
void);
264 void Configure80211b (
void);
265 void Configure80211g (
void);
266 void Configure80211_10Mhz (
void);
267 void Configure80211_5Mhz ();
268 void Configure80211p_CCH (
void);
269 void Configure80211p_SCH (
void);
virtual void FinishConfigureStandard(enum WifiPhyStandard standard)=0
virtual Time GetPifs(void) const =0
virtual void SetLinkUpCallback(Callback< void > linkUp)=0
virtual void SetPifs(Time pifs)=0
virtual Mac48Address GetBssid(void) const =0
virtual void SetAckTimeout(Time ackTimeout)=0
forward calls to a chain of CallbackAn ns3::TracedCallback has almost exactly the same API as a norma...
virtual void SetWifiPhy(Ptr< WifiPhy > phy)=0
void ConfigureStandard(enum WifiPhyStandard standard)
TracedCallback< Ptr< const Packet > > m_macRxDropTrace
virtual void SetLinkDownCallback(Callback< void > linkDown)=0
virtual void SetPromisc(void)=0
Sets the interface in promiscuous mode.
virtual Time GetAckTimeout(void) const =0
TracedCallback< Ptr< const Packet > > m_macTxDropTrace
void NotifyRxDrop(Ptr< const Packet > packet)
TracedCallback< Ptr< const Packet > > m_macPromiscRxTrace
virtual void SetWifiRemoteStationManager(Ptr< WifiRemoteStationManager > stationManager)=0
virtual void SetSsid(Ssid ssid)=0
virtual Ssid GetSsid(void) const =0
TracedCallback< Ptr< const Packet > > m_macTxTrace
base class for all MAC-level wifi objects.This class encapsulates all the low-level MAC functionality...
void NotifyTxDrop(Ptr< const Packet > packet)
virtual Time GetSlot(void) const =0
void NotifyPromiscRx(Ptr< const Packet > packet)
virtual void SetAddress(Mac48Address address)=0
void NotifyTx(Ptr< const Packet > packet)
virtual void SetEifsNoDifs(Time eifsNoDifs)=0
virtual void SetCtsTimeout(Time ctsTimeout)=0
Time GetMaxPropagationDelay(void) const
void NotifyRx(Ptr< const Packet > packet)
TracedCallback< Ptr< const Packet > > m_macRxTrace
void SetMaxPropagationDelay(Time delay)
virtual void SetSifs(Time sifs)=0
virtual Time GetSifs(void) const =0
virtual void Enqueue(Ptr< const Packet > packet, Mac48Address to, Mac48Address from)=0
a base class which provides memory management and object aggregation
virtual Mac48Address GetAddress(void) const =0
Time GetMsduLifetime(void) const
virtual Time GetCtsTimeout(void) const =0
a unique identifier for an interface.
virtual Time GetEifsNoDifs(void) const =0
virtual void SetSlot(Time slotTime)=0
virtual void SetForwardUpCallback(Callback< void, Ptr< Packet >, Mac48Address, Mac48Address > upCallback)=0