24 #include "ns3/packet.h"
26 #include "ns3/ht-capabilities.h"
27 #include "ns3/vht-capabilities.h"
28 #include "ns3/he-capabilities.h"
41 .SetGroupName (
"Wifi")
Wifi MAC high model for an ad-hoc Wifi MAC.
void Receive(Ptr< WifiMacQueueItem > mpdu) override
This method acts as the MacRxMiddle receive callback and is invoked to notify us that a frame has bee...
void SetAddress(Mac48Address address) override
void SetLinkUpCallback(Callback< void > linkUp) override
static TypeId GetTypeId(void)
Get the type ID.
void Enqueue(Ptr< Packet > packet, Mac48Address to) override
Ptr< Packet > Copy(void) const
performs a COW copy of the packet.
base class for all MAC-level wifi objects.
VhtCapabilities GetVhtCapabilities(void) const
Return the VHT capabilities of the device.
bool GetQosSupported() const
Return whether the device supports QoS.
void SetBssid(Mac48Address bssid)
void SetLinkUpCallback(Callback< void > linkUp) override
void SetTypeOfStation(TypeOfStation type) override
This method is invoked by a subclass to specify what type of station it is implementing.
Mac48Address GetBssid(void) const override
bool GetHeSupported() const
Return whether the device supports HE.
Ptr< WifiRemoteStationManager > m_stationManager
Remote station manager (rate control, RTS/CTS/fragmentation thresholds etc.)
Mac48Address GetAddress(void) const override
bool GetHtSupported() const
Return whether the device supports HT.
virtual void Receive(Ptr< WifiMacQueueItem > mpdu)
This method acts as the MacRxMiddle receive callback and is invoked to notify us that a frame has bee...
virtual void DeaggregateAmsduAndForward(Ptr< WifiMacQueueItem > mpdu)
This method can be called to de-aggregate an A-MSDU and forward the constituent packets up the stack.
void SetAddress(Mac48Address address) override
EdcaQueues m_edca
This is a map from Access Category index to the corresponding channel access function.
HtCapabilities GetHtCapabilities(void) const
Return the HT capabilities of the device.
HeCapabilities GetHeCapabilities(void) const
Return the HE capabilities of the device.
bool GetVhtSupported() const
Return whether the device supports VHT.
void ForwardUp(Ptr< const Packet > packet, Mac48Address from, Mac48Address to)
Forward the packet up to the device.
Ptr< Txop > m_txop
This holds a pointer to the TXOP instance for this WifiMac - used for transmission of frames to non-Q...
virtual void Queue(Ptr< Packet > packet, const WifiMacHeader &hdr)
a unique identifier for an interface.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Ptr< const Packet > GetPacket(void) const
Get the packet stored in this item.
const WifiMacHeader & GetHeader(void) const
Get the header stored in this item.
void AddAllSupportedMcs(Mac48Address address)
Invoked in a STA or AP to store all of the MCS supported by a destination which is also supported loc...
bool IsBrandNew(Mac48Address address) const
Return whether the station state is brand new.
void AddAllSupportedModes(Mac48Address address)
Invoked in a STA or AP to store all of the modes supported by a destination which is also supported l...
void AddStationVhtCapabilities(Mac48Address from, VhtCapabilities vhtCapabilities)
Records VHT capabilities of the remote station.
void AddStationHeCapabilities(Mac48Address from, HeCapabilities heCapabilities)
Records HE capabilities of the remote station.
void RecordDisassociated(Mac48Address address)
Records that the STA was disassociated.
void AddStationHtCapabilities(Mac48Address from, HtCapabilities htCapabilities)
Records HT capabilities of the remote station.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
AcIndex QosUtilsMapTidToAc(uint8_t tid)
Maps TID (Traffic ID) to Access classes.
uint8_t QosUtilsGetTidForPacket(Ptr< const Packet > packet)
If a QoS tag is attached to the packet, returns a value < 8.
Every class exported by the ns3 library is enclosed in the ns3 namespace.