[doxygen] wifi module
This commit is contained in:
@@ -204,12 +204,12 @@ private:
|
||||
virtual void DoDispose (void);
|
||||
virtual void DoInitialize (void);
|
||||
|
||||
Ptr<DcaTxop> m_beaconDca;
|
||||
Time m_beaconInterval;
|
||||
bool m_enableBeaconGeneration;
|
||||
EventId m_beaconEvent;
|
||||
Ptr<UniformRandomVariable> m_beaconJitter;
|
||||
bool m_enableBeaconJitter;
|
||||
Ptr<DcaTxop> m_beaconDca; //!< Dedicated DcaTxop for beacons
|
||||
Time m_beaconInterval; //!< Interval between beacons
|
||||
bool m_enableBeaconGeneration; //!< Flag if beacons are being generated
|
||||
EventId m_beaconEvent; //!< Event to generate one beacon
|
||||
Ptr<UniformRandomVariable> m_beaconJitter; //!< UniformRandomVariable used to randomize the time of the first beacon
|
||||
bool m_enableBeaconJitter; //!< Flag if the first beacon should be generated at random time
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -206,7 +206,7 @@ public:
|
||||
m_dcf->NotifyCtsTimeoutResetNow ();
|
||||
}
|
||||
private:
|
||||
ns3::DcfManager *m_dcf;
|
||||
ns3::DcfManager *m_dcf; //!< DcfManager to forward events to
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -252,7 +252,7 @@ public:
|
||||
m_dcf->NotifySwitchingStartNow (duration);
|
||||
}
|
||||
private:
|
||||
ns3::DcfManager *m_dcf;
|
||||
ns3::DcfManager *m_dcf; //!< DcfManager to forward events to
|
||||
};
|
||||
|
||||
/****************************************************************
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace ns3 {
|
||||
*/
|
||||
struct IdealWifiRemoteStation : public WifiRemoteStation
|
||||
{
|
||||
double m_lastSnr;
|
||||
double m_lastSnr; //!< SNR of last packet sent to the remote station
|
||||
};
|
||||
|
||||
NS_OBJECT_ENSURE_REGISTERED (IdealWifiManager)
|
||||
|
||||
@@ -90,8 +90,8 @@ private:
|
||||
*/
|
||||
typedef std::vector<std::pair<double,WifiMode> > Thresholds;
|
||||
|
||||
double m_ber;
|
||||
Thresholds m_thresholds;
|
||||
double m_ber; //!< The maximum Bit Error Rate acceptable at any transmission mode
|
||||
Thresholds m_thresholds; //!< List of WifiMode and the minimum SNR pair
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -1067,9 +1067,9 @@ private:
|
||||
*/
|
||||
void SetupPhyMacLowListener (Ptr<WifiPhy> phy);
|
||||
|
||||
Ptr<WifiPhy> m_phy;
|
||||
Ptr<WifiRemoteStationManager> m_stationManager;
|
||||
MacLowRxCallback m_rxCallback;
|
||||
Ptr<WifiPhy> m_phy; //!< Pointer to WifiPhy (actually send/receives frames)
|
||||
Ptr<WifiRemoteStationManager> m_stationManager; //!< Pointer to WifiRemoteStationManager (rate control)
|
||||
MacLowRxCallback m_rxCallback; //!< Callback to pass packet up
|
||||
/**
|
||||
* typedef for an iterator for a list of MacLowDcfListener.
|
||||
*/
|
||||
@@ -1078,44 +1078,43 @@ private:
|
||||
* typedef for a list of MacLowDcfListener.
|
||||
*/
|
||||
typedef std::vector<MacLowDcfListener *> DcfListeners;
|
||||
DcfListeners m_dcfListeners;
|
||||
DcfListeners m_dcfListeners; //!< List of MacLowDcfListener (pass events to Dcf)
|
||||
|
||||
EventId m_normalAckTimeoutEvent;
|
||||
EventId m_fastAckTimeoutEvent;
|
||||
EventId m_superFastAckTimeoutEvent;
|
||||
EventId m_fastAckFailedTimeoutEvent;
|
||||
EventId m_blockAckTimeoutEvent;
|
||||
EventId m_ctsTimeoutEvent;
|
||||
EventId m_sendCtsEvent;
|
||||
EventId m_sendAckEvent;
|
||||
EventId m_sendDataEvent;
|
||||
EventId m_waitSifsEvent;
|
||||
EventId m_endTxNoAckEvent;
|
||||
EventId m_navCounterResetCtsMissed;
|
||||
EventId m_waitRifsEvent;
|
||||
EventId m_normalAckTimeoutEvent; //!< Normal ACK timeout event
|
||||
EventId m_fastAckTimeoutEvent; //!< Fast ACK timeout event
|
||||
EventId m_superFastAckTimeoutEvent; //!< Super fast ACK timeout event
|
||||
EventId m_fastAckFailedTimeoutEvent; //!< Fast ACK failed timeout event
|
||||
EventId m_blockAckTimeoutEvent; //!< Block ACK timeout event
|
||||
EventId m_ctsTimeoutEvent; //!< CTS timeout event
|
||||
EventId m_sendCtsEvent; //!< Event to send CTS
|
||||
EventId m_sendAckEvent; //!< Event to send ACK
|
||||
EventId m_sendDataEvent; //!< Event to send DATA
|
||||
EventId m_waitSifsEvent; //!< Wait for SIFS event
|
||||
EventId m_endTxNoAckEvent; //!< Event for finishing transmission that does not require ACK
|
||||
EventId m_navCounterResetCtsMissed; //!< Event to reset NAV when CTS is not received
|
||||
EventId m_waitRifsEvent; //!< Wait for RIFS event
|
||||
|
||||
Ptr<Packet> m_currentPacket;
|
||||
WifiMacHeader m_currentHdr;
|
||||
MacLowTransmissionParameters m_txParams;
|
||||
MacLowTransmissionListener *m_listener;
|
||||
Mac48Address m_self;
|
||||
Mac48Address m_bssid;
|
||||
Time m_ackTimeout;
|
||||
Time m_basicBlockAckTimeout;
|
||||
Time m_compressedBlockAckTimeout;
|
||||
Time m_ctsTimeout;
|
||||
Time m_sifs;
|
||||
Time m_slotTime;
|
||||
Time m_pifs;
|
||||
Time m_rifs;
|
||||
Ptr<Packet> m_currentPacket; //!< Current packet transmitted/to be transmitted
|
||||
WifiMacHeader m_currentHdr; //!< Header of the current packet
|
||||
MacLowTransmissionParameters m_txParams; //!< Transmission parameters of the current packet
|
||||
MacLowTransmissionListener *m_listener; //!< Transmission listener for the current packet
|
||||
Mac48Address m_self; //!< Address of this MacLow (Mac48Address)
|
||||
Mac48Address m_bssid; //!< BSSID address (Mac48Address)
|
||||
Time m_ackTimeout; //!< ACK timeout duration
|
||||
Time m_basicBlockAckTimeout; //!< Basic block ACK timeout duration
|
||||
Time m_compressedBlockAckTimeout; //!< Compressed block ACK timeout duration
|
||||
Time m_ctsTimeout; //!< CTS timeout duration
|
||||
Time m_sifs; //!< Short Interframe Space (SIFS) duration
|
||||
Time m_slotTime; //!< Slot duration
|
||||
Time m_pifs; //!< PCF Interframe Space (PIFS) duration
|
||||
Time m_rifs; //!< Reduced Interframe Space (RIFS) duration
|
||||
|
||||
Time m_lastNavStart;
|
||||
Time m_lastNavDuration;
|
||||
Time m_lastNavStart; //!< The time when the latest NAV started
|
||||
Time m_lastNavDuration; //!< The duration of the latest NAV
|
||||
|
||||
bool m_promisc;
|
||||
bool m_promisc; //!< Flag if the device is operating in promiscuous mode
|
||||
|
||||
// Listerner needed to monitor when a channel switching occurs.
|
||||
class PhyMacLowListener * m_phyMacLowListener;
|
||||
class PhyMacLowListener * m_phyMacLowListener; //!< Listerner needed to monitor when a channel switching occurs.
|
||||
|
||||
/*
|
||||
* BlockAck data structures.
|
||||
|
||||
@@ -101,10 +101,10 @@ public:
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
|
||||
private:
|
||||
Ssid m_ssid;
|
||||
SupportedRates m_rates;
|
||||
CapabilityInformation m_capability;
|
||||
HtCapabilities m_htCapability;
|
||||
Ssid m_ssid; //!< Service Set ID (SSID)
|
||||
SupportedRates m_rates; //!< List of supported rates
|
||||
CapabilityInformation m_capability; //!< Capability information
|
||||
HtCapabilities m_htCapability; //!< HT capabilities
|
||||
uint16_t m_listenInterval;
|
||||
};
|
||||
|
||||
@@ -165,11 +165,11 @@ public:
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
|
||||
private:
|
||||
SupportedRates m_rates;
|
||||
CapabilityInformation m_capability;
|
||||
StatusCode m_code;
|
||||
SupportedRates m_rates; //!< List of supported rates
|
||||
CapabilityInformation m_capability; //!< Capability information
|
||||
StatusCode m_code; //!< Status code
|
||||
uint16_t m_aid;
|
||||
HtCapabilities m_htCapability;
|
||||
HtCapabilities m_htCapability; //!< HT capabilities
|
||||
};
|
||||
|
||||
|
||||
@@ -226,9 +226,9 @@ public:
|
||||
virtual void Serialize (Buffer::Iterator start) const;
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
private:
|
||||
Ssid m_ssid;
|
||||
SupportedRates m_rates;
|
||||
HtCapabilities m_htCapability;
|
||||
Ssid m_ssid; //!< Service Set ID (SSID)
|
||||
SupportedRates m_rates; //!< List of supported rates
|
||||
HtCapabilities m_htCapability; //!< HT capabilities
|
||||
};
|
||||
|
||||
|
||||
@@ -305,12 +305,12 @@ public:
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
|
||||
private:
|
||||
uint64_t m_timestamp;
|
||||
Ssid m_ssid;
|
||||
uint64_t m_beaconInterval;
|
||||
SupportedRates m_rates;
|
||||
CapabilityInformation m_capability;
|
||||
HtCapabilities m_htCapability;
|
||||
uint64_t m_timestamp; //!< Timestamp
|
||||
Ssid m_ssid; //!< Service set ID (SSID)
|
||||
uint64_t m_beaconInterval; //!< Beacon interval
|
||||
SupportedRates m_rates; //!< List of supported rates
|
||||
CapabilityInformation m_capability; //!< Capability information
|
||||
HtCapabilities m_htCapability; //!< HT capabilities
|
||||
};
|
||||
|
||||
|
||||
@@ -443,8 +443,8 @@ public:
|
||||
virtual void Serialize (Buffer::Iterator start) const;
|
||||
virtual uint32_t Deserialize (Buffer::Iterator start);
|
||||
private:
|
||||
uint8_t m_category;
|
||||
uint8_t m_actionValue;
|
||||
uint8_t m_category; //!< Category of the action
|
||||
uint8_t m_actionValue; //!< Action value
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -566,12 +566,12 @@ private:
|
||||
void SetStartingSequenceControl (uint16_t seqControl);
|
||||
|
||||
uint8_t m_dialogToken; /* Not used for now */
|
||||
uint8_t m_amsduSupport;
|
||||
uint8_t m_policy;
|
||||
uint8_t m_tid;
|
||||
uint16_t m_bufferSize;
|
||||
uint16_t m_timeoutValue;
|
||||
uint16_t m_startingSeq;
|
||||
uint8_t m_amsduSupport; //!< Flag if A-MSDU is supported
|
||||
uint8_t m_policy; //!< Block ACK policy
|
||||
uint8_t m_tid; //!< Traffic ID
|
||||
uint16_t m_bufferSize; //!< Buffer size
|
||||
uint16_t m_timeoutValue; //!< Timeout
|
||||
uint16_t m_startingSeq; //!< Starting sequence number
|
||||
};
|
||||
|
||||
|
||||
@@ -682,12 +682,12 @@ private:
|
||||
void SetParameterSet (uint16_t params);
|
||||
|
||||
uint8_t m_dialogToken; /* Not used for now */
|
||||
StatusCode m_code;
|
||||
uint8_t m_amsduSupport;
|
||||
uint8_t m_policy;
|
||||
uint8_t m_tid;
|
||||
uint16_t m_bufferSize;
|
||||
uint16_t m_timeoutValue;
|
||||
StatusCode m_code; //!< Status code
|
||||
uint8_t m_amsduSupport; //!< Flag if A-MSDU is supported
|
||||
uint8_t m_policy; //!< Block ACK policy
|
||||
uint8_t m_tid; //!< Traffic ID
|
||||
uint16_t m_bufferSize; //!< Buffer size
|
||||
uint16_t m_timeoutValue; //!< Timeout
|
||||
};
|
||||
|
||||
|
||||
@@ -750,7 +750,7 @@ private:
|
||||
void SetParameterSet (uint16_t params);
|
||||
|
||||
uint16_t m_initiator;
|
||||
uint16_t m_tid;
|
||||
uint16_t m_tid; //!< Traffic ID
|
||||
/* Not used for now.
|
||||
Always set to 1: "Unspecified reason" */
|
||||
uint16_t m_reasonCode;
|
||||
|
||||
@@ -110,7 +110,7 @@ public:
|
||||
uint8_t GetTid (void) const;
|
||||
|
||||
private:
|
||||
uint8_t m_tid;
|
||||
uint8_t m_tid; //!< Traffic ID
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -66,7 +66,7 @@ public:
|
||||
*/
|
||||
double Get (void) const;
|
||||
private:
|
||||
double m_snr;
|
||||
double m_snr; //!< SNR value
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -81,8 +81,8 @@ public:
|
||||
uint8_t length);
|
||||
|
||||
private:
|
||||
uint8_t m_ssid[33];
|
||||
uint8_t m_length;
|
||||
uint8_t m_ssid[33]; //!< Raw SSID value
|
||||
uint8_t m_length; //!< Length of the SSID
|
||||
};
|
||||
|
||||
std::ostream &operator << (std::ostream &os, const Ssid &ssid);
|
||||
|
||||
@@ -168,8 +168,8 @@ public:
|
||||
friend class ExtendedSupportedRatesIE;
|
||||
ExtendedSupportedRatesIE extended;
|
||||
private:
|
||||
uint8_t m_nRates;
|
||||
uint8_t m_rates[MAX_SUPPORTED_RATES];
|
||||
uint8_t m_nRates; //!< Number of supported rates
|
||||
uint8_t m_rates[MAX_SUPPORTED_RATES]; //!< List of supported bitrate (divided by 500000)
|
||||
};
|
||||
|
||||
std::ostream &operator << (std::ostream &os, const SupportedRates &rates);
|
||||
|
||||
@@ -65,7 +65,7 @@ public:
|
||||
* \return deserialized bytes
|
||||
*/
|
||||
virtual uint32_t DeserializeSingleIe (Buffer::Iterator start);
|
||||
///Set maximum size to control overflow of the max packet length
|
||||
/// Set maximum size to control overflow of the max packet length
|
||||
void SetMaxSize (uint16_t size);
|
||||
/// As soon as this is a vector, we define an Iterator
|
||||
typedef std::vector<Ptr<WifiInformationElement> >::iterator Iterator;
|
||||
@@ -93,7 +93,7 @@ protected:
|
||||
typedef std::vector<Ptr<WifiInformationElement> > IE_VECTOR;
|
||||
/// Current number of bytes
|
||||
uint32_t GetSize () const;
|
||||
IE_VECTOR m_elements;
|
||||
IE_VECTOR m_elements; //!< Information element vector
|
||||
/// Size in bytes (actually, max packet length)
|
||||
uint16_t m_maxSize;
|
||||
};
|
||||
|
||||
@@ -256,9 +256,9 @@ protected:
|
||||
};
|
||||
|
||||
PacketQueue m_queue; //!< Packet (struct Item) queue
|
||||
uint32_t m_size; //! Current queue size
|
||||
uint32_t m_size; //!< Current queue size
|
||||
uint32_t m_maxSize; //!< Queue capacity
|
||||
Time m_maxDelay; //! Time to live for packets in the queue
|
||||
Time m_maxDelay; //!< Time to live for packets in the queue
|
||||
};
|
||||
|
||||
} // namespace ns3
|
||||
|
||||
@@ -883,8 +883,8 @@ private:
|
||||
*/
|
||||
typedef std::vector <WifiRemoteStationState *> StationStates;
|
||||
|
||||
StationStates m_states;
|
||||
Stations m_stations;
|
||||
StationStates m_states; //!< States of known stations
|
||||
Stations m_stations; //!< Information for each known stations
|
||||
/**
|
||||
* This is a pointer to the WifiPhy associated with this
|
||||
* WifiRemoteStationManager that is set on call to
|
||||
@@ -894,8 +894,8 @@ private:
|
||||
* "DeviceRateSet").
|
||||
*/
|
||||
Ptr<WifiPhy> m_wifiPhy;
|
||||
WifiMode m_defaultTxMode;
|
||||
uint8_t m_defaultTxMcs;
|
||||
WifiMode m_defaultTxMode; //!< The default transmission mode
|
||||
uint8_t m_defaultTxMcs; //!< The default transmission modulation-coding scheme (MCS)
|
||||
|
||||
/**
|
||||
* This member is the list of WifiMode objects that comprise the
|
||||
@@ -908,13 +908,13 @@ private:
|
||||
WifiModeList m_bssBasicRateSet;
|
||||
WifiMcsList m_bssBasicMcsSet;
|
||||
|
||||
bool m_htSupported;
|
||||
uint32_t m_maxSsrc;
|
||||
uint32_t m_maxSlrc;
|
||||
uint32_t m_rtsCtsThreshold;
|
||||
uint32_t m_fragmentationThreshold;
|
||||
uint8_t m_defaultTxPowerLevel;
|
||||
WifiMode m_nonUnicastMode;
|
||||
bool m_htSupported; //!< Flag if HT capability is supported
|
||||
uint32_t m_maxSsrc; //!< Maximum STA short retry count (SSRC)
|
||||
uint32_t m_maxSlrc; //!< Maximum STA long retry count (SLRC)
|
||||
uint32_t m_rtsCtsThreshold; //!< Threshold for RTS/CTS
|
||||
uint32_t m_fragmentationThreshold; //!< Threshold for fragmentation
|
||||
uint8_t m_defaultTxPowerLevel; //!< Default tranmission power level
|
||||
WifiMode m_nonUnicastMode; //!< Transmission mode for non-unicast DATA frames
|
||||
|
||||
/**
|
||||
* The trace source fired when the transmission of a single RTS has failed
|
||||
@@ -942,6 +942,9 @@ private:
|
||||
*/
|
||||
struct WifiRemoteStationState
|
||||
{
|
||||
/**
|
||||
* State of the station
|
||||
*/
|
||||
enum
|
||||
{
|
||||
BRAND_NEW,
|
||||
@@ -961,13 +964,13 @@ struct WifiRemoteStationState
|
||||
*/
|
||||
WifiModeList m_operationalRateSet;
|
||||
WifiMcsList m_operationalMcsSet;
|
||||
Mac48Address m_address;
|
||||
Mac48Address m_address; //!< Mac48Address of the remote station
|
||||
WifiRemoteStationInfo m_info;
|
||||
bool m_shortGuardInterval;
|
||||
uint32_t m_rx;
|
||||
uint32_t m_tx;
|
||||
bool m_stbc;
|
||||
bool m_greenfield;
|
||||
bool m_shortGuardInterval; //!< Flag if short guard interval is supported by the remote station
|
||||
uint32_t m_rx; //!< Number of RX antennae of the remote station
|
||||
uint32_t m_tx; //!< Number of TX antennae of the remote station
|
||||
bool m_stbc; //!< Flag if STBC is used by the remote station
|
||||
bool m_greenfield; //!< Flag if green field is used by the remote station
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -453,33 +453,26 @@ private:
|
||||
void EndReceive (Ptr<Packet> packet, Ptr<InterferenceHelper::Event> event);
|
||||
|
||||
private:
|
||||
double m_edThresholdW;
|
||||
double m_ccaMode1ThresholdW;
|
||||
double m_txGainDb;
|
||||
double m_rxGainDb;
|
||||
double m_txPowerBaseDbm;
|
||||
double m_txPowerEndDbm;
|
||||
uint32_t m_nTxPower;
|
||||
double m_edThresholdW; //!< Energy detection threshold in watts
|
||||
double m_ccaMode1ThresholdW; //!< Clear channel assessment (CCA) threshold in watts
|
||||
double m_txGainDb; //!< Transmission gain (dB)
|
||||
double m_rxGainDb; //!< Reception gain (dB)
|
||||
double m_txPowerBaseDbm; //!< Minimum transmission power (dBm)
|
||||
double m_txPowerEndDbm; //!< Maximum transmission power (dBm)
|
||||
uint32_t m_nTxPower; //!< Number of available transmission power levels
|
||||
|
||||
Ptr<YansWifiChannel> m_channel;
|
||||
uint16_t m_channelNumber;
|
||||
Ptr<Object> m_device;
|
||||
Ptr<Object> m_mobility;
|
||||
Ptr<YansWifiChannel> m_channel; //!< YansWifiChannel that this YansWifiPhy is connected to
|
||||
uint16_t m_channelNumber; //!< Operating channel number
|
||||
Ptr<Object> m_device; //!< Pointer to the device
|
||||
Ptr<Object> m_mobility; //!< Pointer to the mobility model
|
||||
|
||||
// number of transmitters
|
||||
uint32_t m_numberOfTransmitters;
|
||||
// number of receivers
|
||||
uint32_t m_numberOfReceivers;
|
||||
//if true use LDPC
|
||||
bool m_ldpc;
|
||||
// True if STBC is used
|
||||
bool m_stbc;
|
||||
//True if GreenField format is supported
|
||||
bool m_greenfield;
|
||||
//True is short guard interval is used
|
||||
bool m_guardInterval;
|
||||
//True if channel bonding is used
|
||||
bool m_channelBonding;
|
||||
uint32_t m_numberOfTransmitters; //!< Number of transmitters
|
||||
uint32_t m_numberOfReceivers; //!< Number of receivers
|
||||
bool m_ldpc; //!< Flag if LDPC is used
|
||||
bool m_stbc; //!< Flag if STBC is used
|
||||
bool m_greenfield; //!< Flag if GreenField format is supported
|
||||
bool m_guardInterval; //!< Flag if short guard interval is used
|
||||
bool m_channelBonding; //!< Flag if channel conding is used
|
||||
|
||||
|
||||
/**
|
||||
@@ -523,13 +516,12 @@ private:
|
||||
std::vector<uint32_t> m_bssMembershipSelectorSet;
|
||||
std::vector<uint8_t> m_deviceMcsSet;
|
||||
EventId m_endRxEvent;
|
||||
/// Provides uniform random variables.
|
||||
Ptr<UniformRandomVariable> m_random;
|
||||
/// Standard-dependent center frequency of 0-th channel, MHz
|
||||
double m_channelStartingFrequency;
|
||||
Ptr<WifiPhyStateHelper> m_state;
|
||||
InterferenceHelper m_interference;
|
||||
Time m_channelSwitchDelay;
|
||||
|
||||
Ptr<UniformRandomVariable> m_random; //!< Provides uniform random variables.
|
||||
double m_channelStartingFrequency; //!< Standard-dependent center frequency of 0-th channel in MHz
|
||||
Ptr<WifiPhyStateHelper> m_state; //!< Pointer to WifiPhyStateHelper
|
||||
InterferenceHelper m_interference; //!< Pointer to InterferenceHelper
|
||||
Time m_channelSwitchDelay; //!< Time required to switch between channel
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user