|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
21 #ifndef RR_MULTI_USER_SCHEDULER_H
22 #define RR_MULTI_USER_SCHEDULER_H
Ptr< WifiMacQueueItem > m_trigger
Trigger Frame to send.
a unique identifier for an interface.
Information to be provided in case of UL MU transmission.
virtual TxFormat TrySendingBsrpTf(void)
Check if it is possible to send a BSRP Trigger Frame given the current time limits.
void AssignRuIndices(WifiTxVector &txVector)
Assign an RU index to all the RUs allocated by the given TXVECTOR.
bool m_enableTxopSharing
allow A-MPDUs of different TIDs in a DL MU PPDU
void DoInitialize(void) override
Initialize() implementation.
virtual TxFormat TrySendingDlMuPpdu(void)
Check if it is possible to send a DL MU PPDU given the current time limits.
MultiUserScheduler is an abstract base class defining the API that APs supporting at least VHT can us...
DlMuInfo ComputeDlMuInfo(void) override
Compute the information required to perform a DL MU transmission.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::pair< std::list< MasterInfo >::iterator, Ptr< const WifiMacQueueItem > > CandidateInfo
Information stored for candidate stations.
TriggerFrameType m_ulTriggerType
Trigger Frame type for UL MU.
TriggerFrameType
The different Trigger frame types.
RrMultiUserScheduler is a simple OFDMA scheduler that indicates to perform a DL OFDMA transmission if...
bool m_forceDlOfdma
return DL_OFDMA even if no DL MU PPDU was built
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
uint8_t m_nStations
Number of stations/slots to fill.
This class stores the TX parameters (TX vector, protection mechanism, acknowledgment mechanism,...
Mac48Address address
station's MAC Address
TxFormat SelectTxFormat(void) override
Select the format of the next transmission.
Time m_maxCredits
Max amount of credits a station can have.
void DoDispose(void) override
Destructor implementation.
Smart pointer class similar to boost::intrusive_ptr.
static TypeId GetTypeId(void)
Get the type ID.
bool m_enableBsrp
send a BSRP before an UL MU transmission
uint16_t aid
station's AID
UlMuInfo ComputeUlMuInfo(void) override
Prepare the information required to solicit an UL MU transmission.
Information to be provided in case of DL MU transmission.
double credits
credits accumulated by the station
std::list< CandidateInfo > m_candidates
Candidate stations for MU TX.
std::map< AcIndex, std::list< MasterInfo > > m_staList
Per-AC list of stations (next to serve first)
Simulation virtual time values and global simulation resolution.
virtual TxFormat TrySendingBasicTf(void)
Check if it is possible to send a Basic Trigger Frame given the current time limits.
Time m_tbPpduDuration
Duration of the solicited TB PPDUs.
bool m_enableUlOfdma
enable the scheduler to also return UL_OFDMA
uint32_t m_ulPsduSize
the size in byte of the solicited PSDU
WifiTxParameters m_txParams
TX parameters.
virtual ~RrMultiUserScheduler()
TxFormat
Enumeration of the possible transmission formats.
bool m_useCentral26TonesRus
whether to allocate central 26-tone RUs
void NotifyStationDeassociated(uint16_t aid, Mac48Address address)
Notify the scheduler that a station deassociated with the AP.
Information used to sort stations.
void NotifyStationAssociated(uint16_t aid, Mac48Address address)
Notify the scheduler that a station associated with the AP.