29 #include "ns3/attribute-helper.h"
30 #include "ns3/wifi-phy-standard.h"
113 uint64_t
GetPhyRate (uint32_t channelWidth,
bool isShortGuardInterval, uint8_t nss)
const;
131 uint64_t
GetDataRate (uint32_t channelWidth,
bool isShortGuardInterval, uint8_t nss)
const;
167 uint32_t
GetUid (
void)
const;
268 uint16_t constellationSize);
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input
WifiMode()
Create an invalid WifiMode.
This class mimics the TXVECTOR which is to be passed to the PHY in order to define the parameters whi...
WifiCodeRate
This enumeration defines the various convolutional coding rates used for the OFDM transmission modes ...
enum WifiModulationClass GetModulationClass() const
ATTRIBUTE_HELPER_HEADER(BleAccessAddress)
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
bool IsMandatory(void) const
static WifiMode CreateWifiMcs(std::string uniqueName, uint8_t mcsValue, enum WifiModulationClass modClass)
Modulation class unknown or unspecified.
WifiModeItem * Get(uint32_t uid)
Return a WifiModeItem at the given uid index.
uint64_t GetPhyRate(uint32_t channelWidth, bool isShortGuardInterval, uint8_t nss) const
Frequency-hopping spread spectrum (FHSS) PHY (Clause 14)
uint16_t GetConstellationSize(void) const
bool IsHigherDataRate(WifiMode mode) const
enum WifiCodeRate GetCodeRate(void) const
enum WifiCodeRate codingRate
uint8_t GetMcsValue(void) const
std::string GetUniqueName(void) const
WifiModeItemList m_itemList
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Infrared (IR) (Clause 16)
WifiModeList::const_iterator WifiModeListIterator
An iterator for WifiModeList vector.
bool operator==(const BleAccessAddress &a, const BleAccessAddress &b)
uint64_t GetDataRate(uint32_t channelWidth, bool isShortGuardInterval, uint8_t nss) const
std::vector< WifiMode > WifiModeList
In various parts of the code, folk are interested in maintaining a list of transmission modes...
uint16_t constellationSize
uint64_t GetNonHtReferenceRate(void) const
std::vector< struct WifiModeItem > WifiModeItemList
typedef for a vector of WifiModeItem.
static WifiMode CreateWifiMode(std::string uniqueName, enum WifiModulationClass modClass, bool isMandatory, enum WifiCodeRate codingRate, uint16_t constellationSize)
No explicit coding (e.g., DSSS rates)
create WifiMode class instances and keep track of them.
WifiModulationClass
This enumeration defines the modulation classes per (Table 9-4 "Modulation classes"; IEEE 802...
bool IsHigherCodeRate(WifiMode mode) const
static WifiModeFactory * GetFactory()
Return a WifiModeFactory.
uint32_t AllocateUid(std::string uniqueUid)
Allocate a WifiModeItem from a given uniqueUid.
enum WifiModulationClass modClass
uint32_t GetUid(void) const
friend std::istream & operator>>(std::istream &is, WifiMode &mode)
Serialize WifiMode from istream (human-readable).
WifiMode Search(std::string name)
Search and return WifiMode from a given name.
This is the data associated to a unique WifiMode.