wifi: fix other doxygen warnings in src/wifi/model
3 warnings remaining with templated WifiTxTimer::FeedTraceSource
This commit is contained in:
@@ -307,7 +307,7 @@ private:
|
||||
Ptr<UniformRandomVariable> m_beaconJitter; //!< UniformRandomVariable used to randomize the time of the first beacon
|
||||
bool m_enableBeaconJitter; //!< Flag whether the first beacon should be generated at random time
|
||||
std::map<uint16_t, Mac48Address> m_staList; //!< Map of all stations currently associated to the AP with their association ID
|
||||
//!< Maps MAC addresses of associated stations to their association ID
|
||||
/// Maps MAC addresses of associated stations to their association ID
|
||||
std::unordered_map<Mac48Address, uint16_t, WifiAddressHash> m_addressIdMap;
|
||||
uint16_t m_numNonErpStations; //!< Number of non-ERP stations currently associated to the AP
|
||||
uint16_t m_numNonHtStations; //!< Number of non-HT stations currently associated to the AP
|
||||
@@ -315,9 +315,13 @@ private:
|
||||
bool m_shortPreambleEnabled; //!< Flag whether short preamble is enabled in the BSS
|
||||
bool m_enableNonErpProtection; //!< Flag whether protection mechanism is used or not when non-ERP STAs are present within the BSS
|
||||
Time m_bsrLifetime; //!< Lifetime of Buffer Status Reports
|
||||
//!< store value and timestamp for each Buffer Status Report
|
||||
typedef struct { uint8_t value; Time timestamp; } bsrType;
|
||||
//!< Per (MAC address, TID) buffer status reports
|
||||
/// store value and timestamp for each Buffer Status Report
|
||||
typedef struct
|
||||
{
|
||||
uint8_t value; //!< value of BSR
|
||||
Time timestamp; //!< timestamp of BSR
|
||||
} bsrType;
|
||||
/// Per (MAC address, TID) buffer status reports
|
||||
std::unordered_map<WifiAddressTidPair, bsrType, WifiAddressTidHash> m_bufferStatus;
|
||||
};
|
||||
|
||||
|
||||
@@ -419,6 +419,7 @@ public:
|
||||
/**
|
||||
* \param recipient the recipient
|
||||
* \param tid the TID
|
||||
* \return the BlockAckRequest header for the established BA agreement
|
||||
*
|
||||
* Get the BlockAckRequest header for the established BA agreement
|
||||
* (<i>recipient</i>,<i>tid</i>).
|
||||
|
||||
@@ -47,9 +47,23 @@ struct BlockAckType
|
||||
enum Variant m_variant; //!< Block Ack variant
|
||||
std::vector<uint8_t> m_bitmapLen; //!< Length (bytes) of included bitmaps
|
||||
|
||||
/// Constructors
|
||||
/**
|
||||
* Default constructor for BlockAckType.
|
||||
*/
|
||||
BlockAckType ();
|
||||
/**
|
||||
* Constructor for BlockAckType with given variant.
|
||||
*
|
||||
* \param v the Block Ack variant
|
||||
*/
|
||||
BlockAckType (Variant v);
|
||||
/**
|
||||
* Constructor for BlockAckType with given variant
|
||||
* and bitmap length.
|
||||
*
|
||||
* \param v the Block Ack variant
|
||||
* \param l the length (bytes) of included bitmaps
|
||||
*/
|
||||
BlockAckType (Variant v, std::vector<uint8_t> l);
|
||||
};
|
||||
|
||||
@@ -74,9 +88,23 @@ struct BlockAckReqType
|
||||
uint8_t m_nSeqControls; //!< Number of included Starting Sequence Control fields.
|
||||
//!< This member is added for future support of Multi-TID BARs
|
||||
|
||||
/// Constructors
|
||||
/**
|
||||
* Default constructor for BlockAckReqType.
|
||||
*/
|
||||
BlockAckReqType ();
|
||||
/**
|
||||
* Constructor for BlockAckReqType with given variant.
|
||||
*
|
||||
* \param v the Block Ack Request variant
|
||||
*/
|
||||
BlockAckReqType (Variant v);
|
||||
/**
|
||||
* Constructor for BlockAckReqType with given variant
|
||||
* and number of SSC fields.
|
||||
*
|
||||
* \param v the Block Ack Request variant
|
||||
* \param nSeqControls the number of included Starting Sequence Control fields
|
||||
*/
|
||||
BlockAckReqType (Variant v, uint8_t nSeqControls);
|
||||
};
|
||||
|
||||
|
||||
@@ -453,6 +453,8 @@ public:
|
||||
/**
|
||||
* Reset the bitmap to 0. For Multi-STA Block Acks, reset the bitmap included
|
||||
* in the Per AID TID Info subfield identified by <i>index</i>.
|
||||
*
|
||||
* \param index the index of the Per AID TID Info subfield (Multi-STA Block Ack only)
|
||||
*/
|
||||
void ResetBitmap (std::size_t index = 0);
|
||||
|
||||
@@ -588,6 +590,9 @@ public:
|
||||
/**
|
||||
* Copy assignment operator.
|
||||
*
|
||||
* \param userInfo the User Info field to copy
|
||||
* \return a reference to the copied object
|
||||
*
|
||||
* Checks that the given User Info fields is included in the same type
|
||||
* of Trigger Frame.
|
||||
*/
|
||||
@@ -901,6 +906,9 @@ public:
|
||||
/**
|
||||
* Copy assignment operator.
|
||||
*
|
||||
* \param trigger the Trigger frame to copy
|
||||
* \return a reference to the copied object
|
||||
*
|
||||
* Ensure that the type of this Trigger Frame is set to the type of the given
|
||||
* Trigger Frame before copying the User Info fields.
|
||||
*/
|
||||
|
||||
@@ -33,7 +33,13 @@ class ApWifiMac;
|
||||
class StaWifiMac;
|
||||
class CtrlTriggerHeader;
|
||||
|
||||
/**
|
||||
* Map of PSDUs indexed by STA-ID
|
||||
*/
|
||||
typedef std::unordered_map <uint16_t /* staId */, Ptr<WifiPsdu> /* PSDU */> WifiPsduMap;
|
||||
/**
|
||||
* Map of const PSDUs indexed by STA-ID
|
||||
*/
|
||||
typedef std::unordered_map <uint16_t /* staId */, Ptr<const WifiPsdu> /* PSDU */> WifiConstPsduMap;
|
||||
|
||||
/**
|
||||
@@ -71,6 +77,7 @@ public:
|
||||
*
|
||||
* \param to the MAC address
|
||||
* \param psduMap the PSDU map
|
||||
* \return the PSDU, if any, or a null pointer, otherwise
|
||||
*/
|
||||
static Ptr<WifiPsdu> GetPsduTo (Mac48Address to, const WifiPsduMap& psduMap);
|
||||
|
||||
|
||||
@@ -153,7 +153,7 @@ public:
|
||||
/// map (bandwidth, number of tones) pairs to the group of subcarrier ranges
|
||||
typedef std::map<BwTonesPair, std::vector<SubcarrierGroup> > SubcarrierGroups;
|
||||
|
||||
//!< Subcarrier groups for all RUs (with indices being applicable to primary 80 MHz channel)
|
||||
/// Subcarrier groups for all RUs (with indices being applicable to primary 80 MHz channel)
|
||||
static const SubcarrierGroups m_heRuSubcarrierGroups;
|
||||
};
|
||||
|
||||
|
||||
@@ -66,6 +66,7 @@ public:
|
||||
/**
|
||||
* Return true if the SNR value for the given STA-ID is present
|
||||
*
|
||||
* \param staId the STA-ID
|
||||
* \return true if the SNR value for the given STA-ID is present
|
||||
*/
|
||||
bool IsPresent (uint16_t staId) const;
|
||||
|
||||
@@ -236,6 +236,7 @@ protected:
|
||||
*
|
||||
* \param txDuration the duration of the PSDU transmission
|
||||
* \param txParams the TX parameters used to send the PSDU
|
||||
* \return the value for the Duration/ID field
|
||||
*/
|
||||
virtual Time GetPsduDurationId (Time txDuration, const WifiTxParameters& txParams) const;
|
||||
|
||||
@@ -286,13 +287,15 @@ protected:
|
||||
* \param initialFrame true if the frame being transmitted is the initial frame
|
||||
* of the TXOP. This is used to determine whether the TXOP
|
||||
* limit can be exceeded
|
||||
* \return true if frame is transmitted, false otherwise
|
||||
*/
|
||||
virtual bool SendMpduFromBaManager (Ptr<QosTxop> edca, Time availableTime, bool initialFrame);
|
||||
|
||||
/**
|
||||
* TODO Transmit a data frame, if data is available and its trasmission plus the
|
||||
* response fits within the given available time, if the latter is not
|
||||
* Time::Min() and this is not the initial frame of a TXOP.
|
||||
* Given a non-broadcast QoS data frame, prepare the PSDU to transmit by attempting
|
||||
* A-MSDU and A-MPDU aggregation (if enabled), while making sure that the frame
|
||||
* exchange (possibly including protection and acknowledgment) is completed within
|
||||
* the given available time.
|
||||
*
|
||||
* \param peekedItem the given non-broadcast QoS data frame
|
||||
* \param availableTime the amount of time allowed for the frame exchange. Equals
|
||||
@@ -300,6 +303,7 @@ protected:
|
||||
* \param initialFrame true if the frame being transmitted is the initial frame
|
||||
* of the TXOP. This is used to determine whether the TXOP
|
||||
* limit can be exceeded
|
||||
* \return true if frame is transmitted, false otherwise
|
||||
*/
|
||||
virtual bool SendDataFrame (Ptr<const WifiMacQueueItem> peekedItem,
|
||||
Time availableTime, bool initialFrame);
|
||||
@@ -312,6 +316,8 @@ protected:
|
||||
* - MPDU aggregation is enabled and there is more than one packet in the queue OR
|
||||
* - the station is a VHT station
|
||||
*
|
||||
* \param recipient address of the recipient.
|
||||
* \param tid traffic ID.
|
||||
* \return true if a Block Ack agreement needs to be established, false otherwise.
|
||||
*/
|
||||
virtual bool NeedSetupBlockAck (Mac48Address recipient, uint8_t tid);
|
||||
|
||||
@@ -508,7 +508,7 @@ protected:
|
||||
*
|
||||
* \param symbolDuration the symbol duration (in us) excluding guard interval
|
||||
* \param guardInterval the considered guard interval duration in nanoseconds
|
||||
* \param usableSubarriers the number of usable subcarriers for data
|
||||
* \param usableSubCarriers the number of usable subcarriers for data
|
||||
* \param numberOfBitsPerSubcarrier the number of data bits per subcarrier
|
||||
* \param codingRate the coding rate
|
||||
* \param nss the considered number of streams
|
||||
|
||||
@@ -101,7 +101,7 @@ public:
|
||||
* Update the received power (W) for all bands, i.e. add up the received power
|
||||
* to the current received power, for each band.
|
||||
*
|
||||
* \param the received power (W) for all bands.
|
||||
* \param rxPower the received power (W) for all bands.
|
||||
*/
|
||||
void UpdateRxPowerW (RxPowerWattPerChannelBand rxPower);
|
||||
|
||||
|
||||
@@ -150,6 +150,7 @@ public:
|
||||
*
|
||||
* \param mpduSize size of the MPDU in bytes.
|
||||
* \param isSingle true if S-MPDU.
|
||||
* \return the A-MPDU subframe header
|
||||
*/
|
||||
static AmpduSubframeHeader GetAmpduSubframeHeader (uint16_t mpduSize, bool isSingle);
|
||||
|
||||
|
||||
@@ -56,9 +56,14 @@ const PhyEntity::ModulationLookupTable DsssPhy::m_dsssModulationLookupTable {
|
||||
};
|
||||
/* *NS_CHECK_STYLE_ON* */
|
||||
|
||||
// DSSS rates in bits per second
|
||||
/// DSSS rates in bits per second
|
||||
static const std::array<uint64_t, 4> s_dsssRatesBpsList = {1000000, 2000000, 5500000, 11000000};
|
||||
|
||||
/**
|
||||
* Get the array of possible DSSS rates.
|
||||
*
|
||||
* \return the DSSS rates in bits per second
|
||||
*/
|
||||
const std::array<uint64_t, 4>& GetDsssRatesBpsList (void)
|
||||
{
|
||||
return s_dsssRatesBpsList;
|
||||
|
||||
@@ -49,13 +49,18 @@ const PhyEntity::ModulationLookupTable ErpOfdmPhy::m_erpOfdmModulationLookupTabl
|
||||
{ "ErpOfdmRate54Mbps", { WIFI_CODE_RATE_3_4, 64 } }
|
||||
};
|
||||
|
||||
// ERP OFDM rates in bits per second
|
||||
/// ERP OFDM rates in bits per second
|
||||
static const std::array<uint64_t, 8> s_erpOfdmRatesBpsList =
|
||||
{ 6000000, 9000000, 12000000, 18000000,
|
||||
24000000, 36000000, 48000000, 54000000};
|
||||
|
||||
/* *NS_CHECK_STYLE_ON* */
|
||||
|
||||
/**
|
||||
* Get the array of possible ERP OFDM rates.
|
||||
*
|
||||
* \return the ERP OFDM rates in bits per second
|
||||
*/
|
||||
const std::array<uint64_t, 8>& GetErpOfdmRatesBpsList (void)
|
||||
{
|
||||
return s_erpOfdmRatesBpsList;
|
||||
|
||||
@@ -72,7 +72,7 @@ const PhyEntity::ModulationLookupTable OfdmPhy::m_ofdmModulationLookupTable {
|
||||
{ "OfdmRate13_5MbpsBW5MHz", { WIFI_CODE_RATE_3_4, 64 } }
|
||||
};
|
||||
|
||||
// OFDM rates in bits per second
|
||||
/// OFDM rates in bits per second for each bandwidth (MHz)
|
||||
const std::map<uint16_t, std::array<uint64_t, 8> > s_ofdmRatesBpsList =
|
||||
{{ 20, // MHz
|
||||
{ 6000000, 9000000, 12000000, 18000000,
|
||||
@@ -86,6 +86,11 @@ const std::map<uint16_t, std::array<uint64_t, 8> > s_ofdmRatesBpsList =
|
||||
|
||||
/* *NS_CHECK_STYLE_ON* */
|
||||
|
||||
/**
|
||||
* Get the array of possible OFDM rates for each bandwidth (MHz).
|
||||
*
|
||||
* \return the OFDM rates in bits per second
|
||||
*/
|
||||
const std::map<uint16_t, std::array<uint64_t, 8> >& GetOfdmRatesBpsList (void)
|
||||
{
|
||||
return s_ofdmRatesBpsList;
|
||||
|
||||
@@ -411,7 +411,7 @@ protected:
|
||||
*
|
||||
* \param symbolDuration the symbol duration (in us) excluding guard interval
|
||||
* \param guardInterval the considered guard interval duration in nanoseconds
|
||||
* \param usableSubarriers the number of usable subcarriers for data
|
||||
* \param usableSubCarriers the number of usable subcarriers for data
|
||||
* \param numberOfBitsPerSubcarrier the number of data bits per subcarrier
|
||||
* \param codingRate the coding rate
|
||||
*
|
||||
|
||||
@@ -728,14 +728,14 @@ protected:
|
||||
* Create an event using WifiPhy's InterferenceHelper class.
|
||||
* Wrapper used by child classes.
|
||||
*
|
||||
* \copydoc InterferenceHelper::Add(Ptr<const WifiPpdu>, WifiTxVector, Time, RxPowerWattPerChannelBand, bool)
|
||||
* \copydoc InterferenceHelper::Add
|
||||
*/
|
||||
Ptr<Event> CreateInterferenceEvent (Ptr<const WifiPpdu> ppdu, const WifiTxVector& txVector, Time duration, RxPowerWattPerChannelBand rxPower, bool isStartOfdmaRxing = false);
|
||||
/**
|
||||
* Update an event in WifiPhy's InterferenceHelper class.
|
||||
* Wrapper used by child classes.
|
||||
*
|
||||
* \copydoc InterferenceHelper::UpdateEvent(Ptr<Event>, RxPowerWattPerChannelBand)
|
||||
* \copydoc InterferenceHelper::UpdateEvent
|
||||
*/
|
||||
void UpdateInterferenceEvent (Ptr<Event> event, RxPowerWattPerChannelBand rxPower);
|
||||
/**
|
||||
|
||||
@@ -163,6 +163,7 @@ public:
|
||||
/**
|
||||
* \param recipient Address of recipient.
|
||||
* \param tid traffic ID.
|
||||
* \return the BlockAckRequest to send
|
||||
*
|
||||
* Prepare a BlockAckRequest to be sent to <i>recipient</i> for Traffic ID
|
||||
* <i>tid</i>. The header for the BlockAckRequest is requested to the QosTxop
|
||||
|
||||
@@ -183,12 +183,6 @@ QosUtilsIsOldPacket (uint16_t startingSeq, uint16_t seqNumber)
|
||||
return (distance >= 2048);
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Extraction operator for TypeId
|
||||
* \param [in] packet is the packet
|
||||
* \param [in] hdr is Wifi MAC header
|
||||
* \returns the TypeId of the MAC header
|
||||
*/
|
||||
uint8_t
|
||||
GetTid (Ptr<const Packet> packet, const WifiMacHeader hdr)
|
||||
{
|
||||
|
||||
@@ -38,6 +38,12 @@ typedef std::pair<Mac48Address, uint8_t> WifiAddressTidPair; //!< (MAC address,
|
||||
*/
|
||||
struct WifiAddressTidHash
|
||||
{
|
||||
/**
|
||||
* Functional operator for (MAC address, TID) hash computation.
|
||||
*
|
||||
* \param addressTidPair the (MAC address, TID) pair
|
||||
* \return the hash
|
||||
*/
|
||||
std::size_t operator() (const WifiAddressTidPair& addressTidPair) const;
|
||||
};
|
||||
|
||||
@@ -46,6 +52,12 @@ struct WifiAddressTidHash
|
||||
*/
|
||||
struct WifiAddressHash
|
||||
{
|
||||
/**
|
||||
* Functional operator for MAC address hash computation.
|
||||
*
|
||||
* \param address the MAC address
|
||||
* \return the hash
|
||||
*/
|
||||
std::size_t operator() (const Mac48Address& address) const;
|
||||
};
|
||||
|
||||
@@ -235,12 +247,11 @@ bool QosUtilsIsOldPacket (uint16_t startingSeq, uint16_t seqNumber);
|
||||
|
||||
/**
|
||||
* \ingroup wifi
|
||||
* Next function is useful to get traffic id of different packet types.
|
||||
* This function is useful to get traffic id of different packet types.
|
||||
*
|
||||
* \param packet packet to check
|
||||
* \param hdr 802.11 header for packet to check
|
||||
*
|
||||
* Returns TID of different packet types
|
||||
* \return the TID of different packet types
|
||||
*/
|
||||
uint8_t GetTid (Ptr<const Packet> packet, const WifiMacHeader hdr);
|
||||
|
||||
|
||||
@@ -77,6 +77,8 @@ private:
|
||||
|
||||
/**
|
||||
* Reset the station, invoked if the maximum amount of retries has failed.
|
||||
*
|
||||
* \param station the station for which statistics should be reset
|
||||
*/
|
||||
void Reset (WifiRemoteStation *station) const;
|
||||
|
||||
|
||||
@@ -471,17 +471,6 @@ private:
|
||||
*/
|
||||
void UpdateRate (MinstrelHtWifiRemoteStation *station);
|
||||
|
||||
/**
|
||||
* For managing rates from different groups, a global index for
|
||||
* all rates in all groups is used.
|
||||
* The group order is fixed by BW -> SGI -> streams.
|
||||
* Following functions convert from groupId and rateId to
|
||||
* global index and vice versa.
|
||||
*
|
||||
* \param index the index
|
||||
* \returns the rate ID
|
||||
*/
|
||||
|
||||
/**
|
||||
* Return the rateId inside a group, from the global index.
|
||||
*
|
||||
@@ -501,6 +490,10 @@ private:
|
||||
/**
|
||||
* Returns the global index corresponding to the groupId and rateId.
|
||||
*
|
||||
* For managing rates from different groups, a global index for
|
||||
* all rates in all groups is used.
|
||||
* The group order is fixed by BW -> SGI -> streams.
|
||||
*
|
||||
* \param groupId the group ID
|
||||
* \param rateId the rate ID
|
||||
* \returns the index
|
||||
|
||||
@@ -102,6 +102,7 @@ private:
|
||||
*
|
||||
* \param st Remote STA.
|
||||
* \param mode The WifiMode.
|
||||
* \return the guard interval in nanoseconds
|
||||
*/
|
||||
uint16_t GetModeGuardInterval (WifiRemoteStation *st, WifiMode mode) const;
|
||||
|
||||
@@ -113,9 +114,9 @@ private:
|
||||
*/
|
||||
double SampleBetaVariable (uint64_t alpha, uint64_t beta) const;
|
||||
|
||||
Ptr<GammaRandomVariable> m_gammaRandomVariable; //< Variable used to sample beta-distributed random variables
|
||||
Ptr<GammaRandomVariable> m_gammaRandomVariable; //!< Variable used to sample beta-distributed random variables
|
||||
|
||||
double m_decay; //< Exponential decay coefficient, Hz
|
||||
double m_decay; //!< Exponential decay coefficient, Hz
|
||||
|
||||
TracedValue<uint64_t> m_currentRate; //!< Trace rate changes
|
||||
};
|
||||
|
||||
@@ -118,6 +118,13 @@ private:
|
||||
/// Comparison functor used to sort the buffered MPDUs
|
||||
struct Compare
|
||||
{
|
||||
/**
|
||||
* Functional operator for sorting the buffered MPDUs.
|
||||
*
|
||||
* \param a the key of first buffered MPDU (\see Key)
|
||||
* \param b the key of second buffered MPDU (\see Key)
|
||||
* \return true if first key is smaller than second
|
||||
*/
|
||||
bool operator() (const Key& a, const Key& b) const;
|
||||
};
|
||||
|
||||
|
||||
@@ -28,14 +28,16 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
const uint16_t ERROR_TABLE_BCC_SMALL_FRAME_SIZE = 32;
|
||||
const uint16_t ERROR_TABLE_BCC_LARGE_FRAME_SIZE = 1458;
|
||||
const uint16_t ERROR_TABLE_LDPC_FRAME_SIZE = 1458;
|
||||
const uint8_t ERROR_TABLE_BCC_MAX_NUM_MCS = 9;
|
||||
const uint8_t ERROR_TABLE_LDPC_MAX_NUM_MCS = 11;
|
||||
const uint16_t ERROR_TABLE_BCC_SMALL_FRAME_SIZE = 32; //!< reference size (bytes) of small frames for BCC
|
||||
const uint16_t ERROR_TABLE_BCC_LARGE_FRAME_SIZE = 1458; //!< reference size (bytes) of large frames for BCC
|
||||
const uint16_t ERROR_TABLE_LDPC_FRAME_SIZE = 1458; //!< reference size (bytes) for LDPC
|
||||
const uint8_t ERROR_TABLE_BCC_MAX_NUM_MCS = 9; //!< maximum number of MCSs for BCC
|
||||
const uint8_t ERROR_TABLE_LDPC_MAX_NUM_MCS = 11; //!< maximum number of MCSs for LDPC
|
||||
|
||||
/// Table of SNR (dB) and PER pairs
|
||||
typedef std::vector<std::pair<double /* SNR (dB) */, double /* PER */> > SnrPerTable;
|
||||
|
||||
/// AWGN error table for BCC with reference size of 32 bytes
|
||||
static const SnrPerTable AwgnErrorTableBcc32 [ERROR_TABLE_BCC_MAX_NUM_MCS + 1] = {
|
||||
// MCS-0
|
||||
{
|
||||
@@ -113,6 +115,7 @@ static const SnrPerTable AwgnErrorTableBcc32 [ERROR_TABLE_BCC_MAX_NUM_MCS + 1] =
|
||||
},
|
||||
};
|
||||
|
||||
/// AWGN error table for BCC with reference size of 1458 bytes
|
||||
static const SnrPerTable AwgnErrorTableBcc1458 [ERROR_TABLE_BCC_MAX_NUM_MCS + 1] = {
|
||||
// MCS-0
|
||||
{
|
||||
@@ -179,6 +182,7 @@ static const SnrPerTable AwgnErrorTableBcc1458 [ERROR_TABLE_BCC_MAX_NUM_MCS + 1]
|
||||
},
|
||||
};
|
||||
|
||||
/// AWGN error table for LDPC with reference size of 1458 bytes
|
||||
static const SnrPerTable AwgnErrorTableLdpc1458 [ERROR_TABLE_LDPC_MAX_NUM_MCS + 1] = {
|
||||
// MCS-0
|
||||
{
|
||||
|
||||
@@ -193,7 +193,7 @@ private:
|
||||
Ptr<AntennaModel> m_antenna; //!< antenna model
|
||||
mutable Ptr<const SpectrumModel> m_rxSpectrumModel; //!< receive spectrum model
|
||||
|
||||
///< Map a spectrum band associated with an RU to the RU specification
|
||||
/// Map a spectrum band associated with an RU to the RU specification
|
||||
typedef std::map<WifiSpectrumBand, HeRu::RuSpec> RuBand;
|
||||
|
||||
std::map<uint16_t, RuBand> m_ruBands; /**< For each channel width, store all the distinct spectrum
|
||||
|
||||
@@ -97,8 +97,12 @@ class SupportedRates : public WifiInformationElement
|
||||
public:
|
||||
SupportedRates ();
|
||||
|
||||
/// type conversion operator
|
||||
SupportedRates (const SupportedRates &);
|
||||
/**
|
||||
* Type conversion operator
|
||||
*
|
||||
* \param rates the reference const SupportedRates
|
||||
*/
|
||||
SupportedRates (const SupportedRates & rates);
|
||||
|
||||
// Implementations of pure virtual methods of WifiInformationElement
|
||||
WifiInformationElementId ElementId () const;
|
||||
@@ -108,7 +112,7 @@ public:
|
||||
uint8_t length);
|
||||
|
||||
/**
|
||||
* assignment operator
|
||||
* Assignment operator
|
||||
*
|
||||
* \param rates the rates to assign
|
||||
* \returns the assigned value
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
|
||||
namespace ns3 {
|
||||
|
||||
static const double SNR_PRECISION = 2;
|
||||
static const double TABLED_BASED_ERROR_MODEL_PRECISION = 1e-5;
|
||||
static const double SNR_PRECISION = 2; //!< precision for SNR
|
||||
static const double TABLED_BASED_ERROR_MODEL_PRECISION = 1e-5; //!< precision for PER
|
||||
|
||||
NS_OBJECT_ENSURE_REGISTERED (TableBasedErrorRateModel);
|
||||
|
||||
|
||||
@@ -416,9 +416,9 @@ VhtCapabilities::GetRxHighestSupportedLgiDataRate () const
|
||||
}
|
||||
|
||||
std::ostream &
|
||||
operator << (std::ostream &os, const VhtCapabilities &VhtCapabilities)
|
||||
operator << (std::ostream &os, const VhtCapabilities &vhtCapabilities)
|
||||
{
|
||||
os << VhtCapabilities.GetVhtCapabilitiesInfo () << "|" << VhtCapabilities.GetSupportedMcsAndNssSet ();
|
||||
os << vhtCapabilities.GetVhtCapabilitiesInfo () << "|" << vhtCapabilities.GetSupportedMcsAndNssSet ();
|
||||
|
||||
return os;
|
||||
}
|
||||
|
||||
@@ -259,11 +259,11 @@ private:
|
||||
* output stream output operator
|
||||
*
|
||||
* \param os the output stream
|
||||
* \param VhtCapabilities the VHT capabilities
|
||||
* \param vhtCapabilities the VHT capabilities
|
||||
*
|
||||
* \returns output stream
|
||||
*/
|
||||
std::ostream &operator << (std::ostream &os, const VhtCapabilities &vhtcapabilities);
|
||||
std::ostream &operator << (std::ostream &os, const VhtCapabilities &vhtCapabilities);
|
||||
|
||||
} //namespace ns3
|
||||
|
||||
|
||||
@@ -226,11 +226,11 @@ struct WifiDlMuBarBaSequence : public WifiAcknowledgment
|
||||
BlockAckType baType; //!< BlockAck type
|
||||
};
|
||||
|
||||
///< Set of stations replying with an Ack frame (no more than one)
|
||||
/// Set of stations replying with an Ack frame (no more than one)
|
||||
std::map<Mac48Address, AckInfo> stationsReplyingWithNormalAck;
|
||||
///< Set of stations replying with a BlockAck frame (no more than one)
|
||||
/// Set of stations replying with a BlockAck frame (no more than one)
|
||||
std::map<Mac48Address, BlockAckInfo> stationsReplyingWithBlockAck;
|
||||
///< Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame
|
||||
/// Set of stations receiving a BlockAckReq frame and replying with a BlockAck frame
|
||||
std::map<Mac48Address, BlockAckReqInfo> stationsSendBlockAckReqTo;
|
||||
};
|
||||
|
||||
@@ -258,7 +258,7 @@ struct WifiDlMuTfMuBar : public WifiAcknowledgment
|
||||
BlockAckType baType; //!< BlockAck type
|
||||
};
|
||||
|
||||
///< Set of stations replying with a BlockAck frame
|
||||
/// Set of stations replying with a BlockAck frame
|
||||
std::map<Mac48Address, BlockAckInfo> stationsReplyingWithBlockAck;
|
||||
std::list<BlockAckReqType> barTypes; //!< BAR types
|
||||
uint16_t ulLength; //!< the UL Length field of the MU-BAR Trigger Frame
|
||||
@@ -290,7 +290,7 @@ struct WifiDlMuAggregateTf : public WifiAcknowledgment
|
||||
BlockAckType baType; //!< BlockAck type
|
||||
};
|
||||
|
||||
///< Set of stations replying with a BlockAck frame
|
||||
/// Set of stations replying with a BlockAck frame
|
||||
std::map<Mac48Address, BlockAckInfo> stationsReplyingWithBlockAck;
|
||||
uint16_t ulLength; //!< the UL Length field of the MU-BAR Trigger Frames
|
||||
};
|
||||
@@ -310,7 +310,7 @@ struct WifiUlMuMultiStaBa : public WifiAcknowledgment
|
||||
bool CheckQosAckPolicy (Mac48Address receiver, uint8_t tid, WifiMacHeader::QosAckPolicy ackPolicy) const override;
|
||||
void Print (std::ostream &os) const override;
|
||||
|
||||
///< Map (originator, tid) pairs to the their index in baType
|
||||
/// Map (originator, tid) pairs to the their index in baType
|
||||
std::map<std::pair<Mac48Address, uint8_t>, std::size_t> stationsReceivingMultiStaBa;
|
||||
BlockAckType baType; //!< BlockAck type
|
||||
WifiTxVector tbPpduTxVector; //!< TXVECTOR for a TB PPDU
|
||||
|
||||
@@ -161,6 +161,8 @@ public:
|
||||
* of the items in the queue. The list is empty if the item is not stored in
|
||||
* a queue. The list contains multiple iterators in case of A-MSDU that is not
|
||||
* stored in the Block Ack Manager retransmit queue.
|
||||
*
|
||||
* \return the list of iterators pointing to the positions of the items in the queue
|
||||
*/
|
||||
const std::list<QueueIteratorPair>& GetQueueIteratorPairs (void) const;
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ WifiMacQueue::~WifiMacQueue ()
|
||||
m_nQueuedBytes.clear ();
|
||||
}
|
||||
|
||||
static std::list<Ptr<WifiMacQueueItem>> g_emptyWifiMacQueue;
|
||||
static std::list<Ptr<WifiMacQueueItem>> g_emptyWifiMacQueue; //!< empty Wi-Fi MAC queue
|
||||
|
||||
const WifiMacQueue::ConstIterator WifiMacQueue::EMPTY = g_emptyWifiMacQueue.end ();
|
||||
|
||||
|
||||
@@ -373,9 +373,9 @@ private:
|
||||
DropPolicy m_dropPolicy; //!< Drop behavior of queue
|
||||
mutable bool m_expiredPacketsPresent; //!< True if expired packets are in the queue
|
||||
|
||||
//!< Per (MAC address, TID) pair queued packets
|
||||
/// Per (MAC address, TID) pair queued packets
|
||||
std::unordered_map<WifiAddressTidPair, uint32_t, WifiAddressTidHash> m_nQueuedPackets;
|
||||
//!< Per (MAC address, TID) pair queued bytes
|
||||
/// Per (MAC address, TID) pair queued bytes
|
||||
std::unordered_map<WifiAddressTidPair, uint32_t, WifiAddressTidHash> m_nQueuedBytes;
|
||||
|
||||
/// Traced callback: fired when a packet is dropped due to lifetime expiration
|
||||
|
||||
@@ -49,11 +49,11 @@ namespace ns3 {
|
||||
* enum if pybindgen is upgraded to support Callback<WifiCodeRate>
|
||||
*/
|
||||
typedef uint16_t WifiCodeRate;
|
||||
const uint16_t WIFI_CODE_RATE_UNDEFINED = 0;
|
||||
const uint16_t WIFI_CODE_RATE_1_2 = 1;
|
||||
const uint16_t WIFI_CODE_RATE_2_3 = 2;
|
||||
const uint16_t WIFI_CODE_RATE_3_4 = 3;
|
||||
const uint16_t WIFI_CODE_RATE_5_6 = 4;
|
||||
const uint16_t WIFI_CODE_RATE_UNDEFINED = 0; //!< undefined coding rate
|
||||
const uint16_t WIFI_CODE_RATE_1_2 = 1; //!< 1/2 coding rate
|
||||
const uint16_t WIFI_CODE_RATE_2_3 = 2; //!< 2/3 coding rate
|
||||
const uint16_t WIFI_CODE_RATE_3_4 = 3; //!< 3/4 coding rate
|
||||
const uint16_t WIFI_CODE_RATE_5_6 = 4; //!< 5/6 coding rate
|
||||
|
||||
/**
|
||||
* \ingroup wifi
|
||||
|
||||
@@ -1098,7 +1098,7 @@ public:
|
||||
protected:
|
||||
virtual void DoDispose (void);
|
||||
|
||||
/*
|
||||
/**
|
||||
* Reset data upon end of TX or RX
|
||||
*/
|
||||
void Reset (void);
|
||||
@@ -1130,7 +1130,7 @@ protected:
|
||||
* HE TB PPDU solicited by the AP.
|
||||
*
|
||||
* \param ppdu the PPDU that is being received
|
||||
* \param the channel width (in MHz) used for RSSI measurement
|
||||
* \return the channel width (in MHz) used for RSSI measurement
|
||||
*/
|
||||
uint16_t GetMeasurementChannelWidth (const Ptr<const WifiPpdu> ppdu) const;
|
||||
|
||||
|
||||
@@ -125,13 +125,14 @@ public:
|
||||
|
||||
/**
|
||||
* \brief Get a copy of the i-th A-MPDU subframe (includes subframe header, MPDU, and possibly padding)
|
||||
* \param i the index in the list of A-MPDU subframes
|
||||
* \return the i-th A-MPDU subframe.
|
||||
*/
|
||||
Ptr<Packet> GetAmpduSubframe (std::size_t i) const;
|
||||
|
||||
/**
|
||||
* \brief Return the size of the i-th A-MPDU subframe.
|
||||
*
|
||||
* \param i the index in the list of A-MPDU subframes
|
||||
* \return the size of the i-th A-MPDU subframe.
|
||||
*/
|
||||
std::size_t GetAmpduSubframeSize (std::size_t i) const;
|
||||
|
||||
@@ -1069,6 +1069,10 @@ private:
|
||||
* If the given TXVECTOR is used for a MU transmission, return the STAID of
|
||||
* the station with the given address if we are an AP or our own STAID if we
|
||||
* are a STA associated with some AP. Otherwise, return SU_STA_ID.
|
||||
*
|
||||
* \param address the address of the station
|
||||
* \param txVector the TXVECTOR used for a MU transmission
|
||||
* \return the STA-ID of the station
|
||||
*/
|
||||
uint16_t GetStaId (Mac48Address address, const WifiTxVector& txVector) const;
|
||||
|
||||
|
||||
@@ -189,9 +189,9 @@ inline std::ostream& operator<< (std::ostream& os, WifiStandard standard)
|
||||
*/
|
||||
struct WifiStandardInfo
|
||||
{
|
||||
WifiPhyStandard phyStandard;
|
||||
WifiPhyBand phyBand;
|
||||
WifiMacStandard macStandard;
|
||||
WifiPhyStandard phyStandard; //!< the PHY standard
|
||||
WifiPhyBand phyBand; //!< the PHY band
|
||||
WifiMacStandard macStandard; //!< the MAC standard
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -45,11 +45,17 @@ class WifiTxParameters
|
||||
{
|
||||
public:
|
||||
WifiTxParameters ();
|
||||
/**
|
||||
* Copy constructor.
|
||||
*
|
||||
* \param txParams the WifiTxParameters to copy
|
||||
*/
|
||||
WifiTxParameters (const WifiTxParameters& txParams);
|
||||
|
||||
/**
|
||||
* Copy assignment operator.
|
||||
* \param txParams the TX parameters to assign to this object
|
||||
* \return the reference to this object
|
||||
*/
|
||||
WifiTxParameters& operator= (const WifiTxParameters& txParams);
|
||||
|
||||
|
||||
@@ -201,11 +201,11 @@ private:
|
||||
Ptr<EventImpl> m_endRxEvent; //!< event to schedule upon RXSTART.indication
|
||||
bool m_rescheduled; //!< whether the timer has been already rescheduled
|
||||
|
||||
//!< the MPDU response timeout callback
|
||||
/// the MPDU response timeout callback
|
||||
mutable MpduResponseTimeout m_mpduResponseTimeoutCallback;
|
||||
//!< the PSDU response timeout callback
|
||||
/// the PSDU response timeout callback
|
||||
mutable PsduResponseTimeout m_psduResponseTimeoutCallback;
|
||||
//!< the PSDU map response timeout callback
|
||||
/// the PSDU map response timeout callback
|
||||
mutable PsduMapResponseTimeout m_psduMapResponseTimeoutCallback;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user