24 #include "ns3/net-device.h" 33 class HtConfiguration;
34 class VhtConfiguration;
35 class HeConfiguration;
virtual Time GetPifs(void) const =0
Ptr< HeConfiguration > GetHeConfiguration(void) const
Simulation virtual time values and global simulation resolution.
virtual void SetLinkUpCallback(Callback< void > linkUp)=0
Smart pointer class similar to boost::intrusive_ptr.
virtual Time GetRifs(void) const =0
virtual void SetCompressedBlockAckTimeout(Time blockAckTimeout)=0
void Configure80211b(void)
This method sets 802.11b standards-compliant defaults for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
virtual void SetPifs(Time pifs)=0
virtual void FinishConfigureStandard(WifiPhyStandard standard)=0
virtual Mac48Address GetBssid(void) const =0
virtual void SetAckTimeout(Time ackTimeout)=0
Forward calls to a chain of Callback.
virtual void SetWifiPhy(Ptr< WifiPhy > phy)=0
static Time GetDefaultMaxPropagationDelay(void)
TracedCallback< Ptr< const Packet > > m_macRxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
virtual void SetLinkDownCallback(Callback< void > linkDown)=0
virtual void SetPromisc(void)=0
Sets the interface in promiscuous mode.
virtual Time GetAckTimeout(void) const =0
static Time GetDefaultCtsAckDelay(void)
void Configure80211ac(void)
This method sets 802.11ac standards-compliant defaults for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
TracedCallback< Ptr< const Packet > > m_macTxDropTrace
The trace source fired when packets coming into the "top" of the device are dropped at the MAC layer ...
void ConfigureStandard(WifiPhyStandard standard)
void NotifyRxDrop(Ptr< const Packet > packet)
virtual Time GetBasicBlockAckTimeout(void) const =0
TracedCallback< Ptr< const Packet > > m_macPromiscRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
static Time GetDefaultSifs(void)
virtual void SetWifiRemoteStationManager(Ptr< WifiRemoteStationManager > stationManager)=0
virtual void Enqueue(Ptr< Packet > packet, Mac48Address to, Mac48Address from)=0
void ConfigureDcf(Ptr< Txop > dcf, uint32_t cwmin, uint32_t cwmax, bool isDsss, AcIndex ac)
virtual void SetSsid(Ssid ssid)=0
Ptr< NetDevice > GetDevice(void) const
Return the device this PHY is associated with.
void Configure80211ax_5Ghz(void)
This method sets 802.11ax 5 GHz standards-compliant defaults for following attributes: SIFS...
virtual Ssid GetSsid(void) const =0
WifiPhyStandard
Identifies the PHY specification that a Wifi device is configured to use.
Ptr< HtConfiguration > GetHtConfiguration(void) const
void SetDevice(const Ptr< NetDevice > device)
Sets the device this PHY is associated with.
TracedCallback< Ptr< const Packet > > m_macTxTrace
The trace source fired when packets come into the "top" of the device at the L3/L2 transition...
base class for all MAC-level wifi objects.
void NotifyTxDrop(Ptr< const Packet > packet)
virtual Ptr< WifiRemoteStationManager > GetWifiRemoteStationManager(void) const =0
virtual Time GetSlot(void) const =0
void NotifyPromiscRx(Ptr< const Packet > packet)
virtual void DoDispose()
Destructor implementation.
virtual void SetAddress(Mac48Address address)=0
void Configure80211n_5Ghz(void)
This method sets 802.11n 5 GHz standards-compliant defaults for following attributes: SIFS...
void Configure80211_10Mhz(void)
This method sets 802.11 with 10 MHz channel spacing standards-compliant defaults for following attrib...
virtual void SetBasicBlockAckTimeout(Time blockAckTimeout)=0
void NotifyTx(Ptr< const Packet > packet)
virtual void SetRifs(Time rifs)=0
void Configure80211n_2_4Ghz(void)
This method sets 802.11n 2.4 GHz standards-compliant defaults for following attributes: SIFS...
virtual void ResetWifiPhy(void)=0
Remove currently attached WifiPhy device from this MAC.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static Time GetDefaultSlot(void)
virtual void SetEifsNoDifs(Time eifsNoDifs)=0
void Configure80211g(void)
This method sets 802.11g standards-compliant defaults for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
The IEEE 802.11 SSID Information Element.
virtual Time GetCompressedBlockAckTimeout(void) const =0
void NotifyRx(Ptr< const Packet > packet)
static Time GetDefaultBasicBlockAckDelay(void)
Return the default basic BlockAck delay.
static Time GetDefaultCompressedBlockAckDelay(void)
Return the default compressed BlockAck delay.
TracedCallback< Ptr< const Packet > > m_macRxTrace
The trace source fired for packets successfully received by the device immediately before being forwa...
void SetMaxPropagationDelay(Time delay)
Ptr< VhtConfiguration > GetVhtConfiguration(void) const
void Configure80211a(void)
This method sets 802.11a standards-compliant defaults for following attributes: SIFS, Slot, EifsNoDifs, PIFS, CtsTimeout, and AckTimeout.
void Configure80211_5Mhz()
This method sets 802.11 with 5 MHz channel spacing standards-compliant defaults for following attribu...
virtual void SetSifs(Time sifs)=0
virtual bool GetShortSlotTimeSupported(void) const =0
virtual Time GetSifs(void) const =0
virtual bool SupportsSendFrom(void) const =0
virtual Ptr< WifiPhy > GetWifiPhy(void) const =0
static Time GetDefaultCompressedBlockAckTimeout(void)
Return the default compressed BlockAck timeout.
static Time GetDefaultCtsAckTimeout(void)
Ptr< NetDevice > m_device
Pointer to the device.
Time m_maxPropagationDelay
maximum propagation delay
virtual void SetForwardUpCallback(Callback< void, Ptr< const Packet >, Mac48Address, Mac48Address > upCallback)=0
A base class which provides memory management and object aggregation.
virtual Mac48Address GetAddress(void) const =0
virtual void SetShortSlotTimeSupported(bool enable)=0
Enable or disable short slot time feature.
static Time GetDefaultEifsNoDifs(void)
static Time GetDefaultRifs(void)
static Time GetDefaultBasicBlockAckTimeout(void)
Return the default basic BlockAck timeout.
void Configure80211ax_2_4Ghz(void)
This method sets 802.11ax 2.4 GHz standards-compliant defaults for following attributes: SIFS...
a unique identifier for an interface.
static TypeId GetTypeId(void)
Get the type ID.
AcIndex
This enumeration defines the Access Categories as an enumeration with values corresponding to the AC ...
virtual Time GetEifsNoDifs(void) const =0
virtual void SetSlot(Time slotTime)=0