26 #include "ns3/attribute-helper.h" 106 bool IsAllowed (uint16_t channelWidth, uint8_t nss)
const;
118 uint64_t
GetPhyRate (uint16_t channelWidth, uint16_t guardInterval, uint8_t nss)
const;
136 uint64_t
GetDataRate (uint16_t channelWidth, uint16_t guardInterval, uint8_t nss)
const;
148 uint64_t
GetDataRate (uint16_t channelWidth)
const;
179 uint32_t
GetUid (
void)
const;
287 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 ...
uint8_t mcsValue
MCS value.
bool IsAllowed(uint16_t channelWidth, uint8_t nss) const
WifiCodeRate codingRate
coding rate
represent a single transmission modeA WifiMode is implemented by a single integer which is used to lo...
uint32_t GetUid(void) const
Modulation class unknown or unspecified.
bool IsMandatory(void) const
bool operator<(const EventId &a, const EventId &b)
WifiMode Search(std::string name) const
Search and return WifiMode from a given name.
Frequency-hopping spread spectrum (FHSS) PHY (Clause 14)
static WifiMode CreateWifiMode(std::string uniqueName, WifiModulationClass modClass, bool isMandatory, WifiCodeRate codingRate, uint16_t constellationSize)
WifiModeItemList m_itemList
item list
WifiModulationClass GetModulationClass() const
std::string GetUniqueName(void) const
WifiModulationClass modClass
modulation class
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output
Infrared (IR) (Clause 16)
Every class exported by the ns3 library is enclosed in the ns3 namespace.
bool IsHigherCodeRate(WifiMode mode) const
WifiModeList::const_iterator WifiModeListIterator
An iterator for WifiModeList vector.
std::vector< WifiMode > WifiModeList
In various parts of the code, folk are interested in maintaining a list of transmission modes...
uint16_t constellationSize
constellation size
uint16_t GetConstellationSize(void) const
uint64_t GetNonHtReferenceRate(void) const
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 operator==(const EventId &a, const EventId &b)
uint64_t GetPhyRate(uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) const
Tag for WifiTxVector and WifiPreamble information to be embedded in outgoing transmissions as a Packe...
static WifiModeFactory * GetFactory()
Return a WifiModeFactory.
uint32_t AllocateUid(std::string uniqueUid)
Allocate a WifiModeItem from a given uniqueUid.
WifiCodeRate GetCodeRate(void) const
std::vector< WifiModeItem > WifiModeItemList
typedef for a vector of WifiModeItem.
WifiModeItem * Get(uint32_t uid)
Return a WifiModeItem at the given uid index.
uint8_t GetMcsValue(void) const
static WifiMode CreateWifiMcs(std::string uniqueName, uint8_t mcsValue, WifiModulationClass modClass)
bool isMandatory
flag to indicate whether this mode is mandatory
friend std::istream & operator>>(std::istream &is, WifiMode &mode)
Serialize WifiMode from istream (human-readable).
bool IsHigherDataRate(WifiMode mode) const
#define ATTRIBUTE_HELPER_HEADER(type)
Declare the attribute value, accessor and checkers for class type.
uint64_t GetDataRate(uint16_t channelWidth, uint16_t guardInterval, uint8_t nss) const
This is the data associated to a unique WifiMode.
std::string uniqueUid
unique UID