|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
22 #include "ns3/abort.h"
24 #include "ns3/qos-txop.h"
27 #include "ns3/wifi-protection.h"
28 #include "ns3/wifi-acknowledgment.h"
29 #include "ns3/wifi-mac-trailer.h"
42 .SetGroupName (
"Wifi")
99 for (uint8_t i = 0; i < 8; i++)
114 "MultiUserScheduler can only be installed on HE APs");
116 m_heFem = DynamicCast<HeFrameExchangeManager> (
m_apMac->GetFrameExchangeManager ());
117 m_heFem->SetMultiUserScheduler (
this);
123 return m_apMac->GetWifiRemoteStationManager ();
147 if (txFormat !=
NO_TX)
165 #ifdef NS3_BUILD_PROFILE_DEBUG
170 "Station " << psdu.second->GetAddr1 () <<
" does not support HE");
a unique identifier for an interface.
TxFormat NotifyAccessGranted(Ptr< QosTxop > edca, Time availableTime, bool initialFrame)
Notify the Multi-user Scheduler that the given AC of the AP gained channel access.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual void NotifyNewAggregate(void)
Notify all Objects aggregated to this one of a new Object being aggregated.
virtual UlMuInfo ComputeUlMuInfo(void)=0
Prepare the information required to solicit an UL MU transmission.
Information to be provided in case of UL MU transmission.
Ptr< QosTxop > m_edca
the AC that gained channel access
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
DlMuInfo & GetDlMuInfo(void)
Get the information required to perform a DL MU transmission.
DlMuInfo m_dlInfo
information required to perform a DL MU transmission
Every class exported by the ns3 library is enclosed in the ns3 namespace.
WifiTxParameters txParams
the transmission parameters
static const uint16_t WIFI_MAC_FCS_LENGTH
The length in octects of the IEEE 802.11 MAC FCS field.
WifiPsduMap psduMap
the DL MU PPDU to transmit
void NotifyNewAggregate(void) override
Notify all Objects aggregated to this one of a new Object being aggregated.
void DoDispose(void) override
Destructor implementation.
bool m_initialFrame
true if a TXOP is being started
virtual TxFormat SelectTxFormat(void)=0
Select the format of the next transmission.
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Ptr< WifiMacQueueItem > trigger
the Trigger frame used to solicit TB PPDUs
virtual DlMuInfo ComputeDlMuInfo(void)=0
Compute the information required to perform a DL MU transmission.
virtual ~MultiUserScheduler()
Smart pointer class similar to boost::intrusive_ptr.
UlMuInfo & GetUlMuInfo(void)
Get the information required to solicit an UL MU transmission.
Time m_availableTime
the time available for frame exchange
Information to be provided in case of DL MU transmission.
A base class which provides memory management and object aggregation.
Ptr< HeFrameExchangeManager > m_heFem
HE Frame Exchange Manager.
void Clear(void)
Reset the TX parameters.
Simulation virtual time values and global simulation resolution.
void SetWifiMac(Ptr< ApWifiMac > mac)
Set the wifi MAC.
#define NS_ABORT_MSG_IF(cond, msg)
Abnormal program termination if a condition is true, with a message.
Ptr< ApWifiMac > m_apMac
the AP wifi MAC
Ptr< WifiRemoteStationManager > GetWifiRemoteStationManager(void) const
Get the station manager attached to the AP.
WifiTxParameters txParams
the transmission parameters for the Trigger Frame
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function.
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
TxFormat GetLastTxFormat(void) const
Get the format of the last transmission, as determined by the last call to NotifyAccessGranted that d...
uint32_t m_sizeOf8QosNull
size in bytes of 8 QoS Null frames
TxFormat
Enumeration of the possible transmission formats.
void DoInitialize(void) override
Initialize() implementation.
virtual void DoDispose(void)
Destructor implementation.
static uint32_t GetSizeIfAggregated(uint32_t mpduSize, uint32_t ampduSize)
Compute the size of the A-MPDU resulting from the aggregation of an MPDU of size mpduSize and an A-MP...
TxFormat m_lastTxFormat
the format of last transmission
static TypeId GetTypeId(void)
Get the type ID.
UlMuInfo m_ulInfo
information required to solicit an UL MU transmission