wifi: Add information about the channel width used by the transmitter in ReportDataOk
This commit is contained in:
committed by
Sebastien Deronne
parent
a1a805407e
commit
2874e810e0
@@ -213,9 +213,10 @@ AarfWifiManager::DoReportRtsOk (WifiRemoteStation *station,
|
||||
|
||||
void
|
||||
AarfWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
AarfWifiRemoteStation *station = static_cast<AarfWifiRemoteStation*> (st);
|
||||
station->m_timer++;
|
||||
station->m_success++;
|
||||
|
||||
@@ -62,7 +62,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -271,9 +271,10 @@ AarfcdWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
AarfcdWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
AarfcdWifiRemoteStation *station = static_cast<AarfcdWifiRemoteStation*> (st);
|
||||
station->m_timer++;
|
||||
station->m_success++;
|
||||
|
||||
@@ -76,7 +76,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -169,9 +169,10 @@ AmrrWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
AmrrWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
AmrrWifiRemoteStation *station = static_cast<AmrrWifiRemoteStation*> (st);
|
||||
station->m_retry = 0;
|
||||
station->m_tx_ok++;
|
||||
|
||||
@@ -65,7 +65,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -255,10 +255,11 @@ AparfWifiManager::DoReportRtsOk (WifiRemoteStation *station, double ctsSnr,
|
||||
}
|
||||
|
||||
void
|
||||
AparfWifiManager::DoReportDataOk (WifiRemoteStation *st, double ackSnr,
|
||||
WifiMode ackMode, double dataSnr)
|
||||
AparfWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
AparfWifiRemoteStation *station = static_cast<AparfWifiRemoteStation*> (st);
|
||||
CheckInit (station);
|
||||
station->m_nSuccess++;
|
||||
|
||||
@@ -78,7 +78,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -190,9 +190,10 @@ void ArfWifiManager::DoReportRtsOk (WifiRemoteStation *station,
|
||||
}
|
||||
|
||||
void ArfWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
ArfWifiRemoteStation *station = static_cast<ArfWifiRemoteStation*> (st);
|
||||
station->m_timer++;
|
||||
station->m_success++;
|
||||
|
||||
@@ -68,7 +68,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -163,9 +163,10 @@ CaraWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
CaraWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
CaraWifiRemoteStation *station = static_cast<CaraWifiRemoteStation*> (st);
|
||||
station->m_timer++;
|
||||
station->m_success++;
|
||||
|
||||
@@ -64,7 +64,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -97,9 +97,10 @@ ConstantRateWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
ConstantRateWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -54,7 +54,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -259,9 +259,10 @@ IdealWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
IdealWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode.GetUniqueName () << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode.GetUniqueName () << dataSnr << dataChannelWidth);
|
||||
IdealWifiRemoteStation *station = static_cast<IdealWifiRemoteStation*> (st);
|
||||
if (dataSnr == 0)
|
||||
{
|
||||
|
||||
@@ -66,7 +66,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportAmpduTxStatus (WifiRemoteStation *station,
|
||||
uint8_t nSuccessfulMpdus, uint8_t nFailedMpdus,
|
||||
double rxSnr, double dataSnr);
|
||||
|
||||
@@ -909,6 +909,7 @@ MacLow::ReceiveOk (Ptr<WifiMacQueueItem> mpdu, double rxSnr, WifiTxVector txVect
|
||||
rxSnr, txVector.GetMode ());
|
||||
m_stationManager->ReportDataOk (m_currentPacket->GetAddr1 (), &m_currentPacket->GetHeader (0),
|
||||
rxSnr, txVector.GetMode (), tag.Get (),
|
||||
m_currentTxVector.GetChannelWidth (),
|
||||
m_currentPacket->GetSize ());
|
||||
}
|
||||
// cancel the Normal Ack timer
|
||||
|
||||
@@ -519,9 +519,11 @@ MinstrelHtWifiManager::DoReportDataFailed (WifiRemoteStation *st)
|
||||
}
|
||||
|
||||
void
|
||||
MinstrelHtWifiManager::DoReportDataOk (WifiRemoteStation *st, double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
MinstrelHtWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
MinstrelHtWifiRemoteStation *station = static_cast<MinstrelHtWifiRemoteStation*> (st);
|
||||
|
||||
CheckInit (station);
|
||||
|
||||
@@ -230,7 +230,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -757,9 +757,10 @@ MinstrelWifiManager::DoReportDataFailed (WifiRemoteStation *st)
|
||||
|
||||
void
|
||||
MinstrelWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
MinstrelWifiRemoteStation *station = static_cast<MinstrelWifiRemoteStation*> (st);
|
||||
|
||||
CheckInit (station);
|
||||
|
||||
@@ -265,7 +265,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -152,9 +152,11 @@ OnoeWifiManager::DoReportRtsOk (WifiRemoteStation *station, double ctsSnr, WifiM
|
||||
}
|
||||
|
||||
void
|
||||
OnoeWifiManager::DoReportDataOk (WifiRemoteStation *st, double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
OnoeWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
OnoeWifiRemoteStation *station = static_cast<OnoeWifiRemoteStation*> (st);
|
||||
UpdateRetry (station);
|
||||
station->m_tx_ok++;
|
||||
|
||||
@@ -66,7 +66,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -259,9 +259,10 @@ void ParfWifiManager::DoReportRtsOk (WifiRemoteStation *station,
|
||||
}
|
||||
|
||||
void ParfWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
ParfWifiRemoteStation *station = static_cast<ParfWifiRemoteStation*> (st);
|
||||
CheckInit (station);
|
||||
station->m_nAttempt++;
|
||||
|
||||
@@ -66,7 +66,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -324,9 +324,10 @@ RraaWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
RraaWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
RraaWifiRemoteStation *station = static_cast<RraaWifiRemoteStation*> (st);
|
||||
station->m_lastFrameFail = false;
|
||||
CheckTimeout (station);
|
||||
|
||||
@@ -83,7 +83,8 @@ private:
|
||||
void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -367,9 +367,10 @@ RrpaaWifiManager::DoReportRtsOk (WifiRemoteStation *st,
|
||||
|
||||
void
|
||||
RrpaaWifiManager::DoReportDataOk (WifiRemoteStation *st,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr)
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << st << ackSnr << ackMode << dataSnr << dataChannelWidth);
|
||||
RrpaaWifiRemoteStation *station = static_cast<RrpaaWifiRemoteStation*> (st);
|
||||
CheckInit (station);
|
||||
station->m_lastFrameFail = false;
|
||||
|
||||
@@ -108,7 +108,8 @@ private:
|
||||
virtual void DoReportRtsOk (WifiRemoteStation *station,
|
||||
double ctsSnr, WifiMode ctsMode, double rtsSnr);
|
||||
virtual void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr);
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth);
|
||||
virtual void DoReportFinalRtsFailed (WifiRemoteStation *station);
|
||||
virtual void DoReportFinalDataFailed (WifiRemoteStation *station);
|
||||
virtual WifiTxVector DoGetDataTxVector (WifiRemoteStation *station);
|
||||
|
||||
@@ -726,9 +726,9 @@ WifiRemoteStationManager::ReportRtsOk (Mac48Address address, const WifiMacHeader
|
||||
void
|
||||
WifiRemoteStationManager::ReportDataOk (Mac48Address address, const WifiMacHeader *header,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr,
|
||||
uint32_t packetSize)
|
||||
uint16_t dataChannelWidth, uint32_t packetSize)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << address << *header << ackSnr << ackMode << dataSnr);
|
||||
NS_LOG_FUNCTION (this << address << *header << ackSnr << ackMode << dataSnr << dataChannelWidth << packetSize);
|
||||
NS_ASSERT (!address.IsGroup ());
|
||||
WifiRemoteStation *station = Lookup (address);
|
||||
AcIndex ac = QosUtilsMapTidToAc ((header->IsQosData ()) ? header->GetQosTid () : 0);
|
||||
@@ -743,7 +743,7 @@ WifiRemoteStationManager::ReportDataOk (Mac48Address address, const WifiMacHeade
|
||||
station->m_state->m_info.NotifyTxSuccess (m_ssrc[ac]);
|
||||
m_ssrc[ac] = 0;
|
||||
}
|
||||
DoReportDataOk (station, ackSnr, ackMode, dataSnr);
|
||||
DoReportDataOk (station, ackSnr, ackMode, dataSnr, dataChannelWidth);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -739,10 +739,12 @@ public:
|
||||
* \param ackSnr the SNR of the ACK we received
|
||||
* \param ackMode the WifiMode the receiver used to send the ACK
|
||||
* \param dataSnr the SNR of the DATA we sent
|
||||
* \param dataChannelWidth the channel width (in MHz) of the DATA we sent
|
||||
* \param packetSize the size of the DATA packet
|
||||
*/
|
||||
void ReportDataOk (Mac48Address address, const WifiMacHeader *header,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr,
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth,
|
||||
uint32_t packetSize);
|
||||
/**
|
||||
* Should be invoked after calling ReportRtsFailed if
|
||||
@@ -1181,9 +1183,11 @@ private:
|
||||
* \param ackSnr the SNR of the ACK we received
|
||||
* \param ackMode the WifiMode the receiver used to send the ACK
|
||||
* \param dataSnr the SNR of the DATA we sent
|
||||
* \param dataChannelWidth the channel width (in MHz) of the DATA we sent
|
||||
*/
|
||||
virtual void DoReportDataOk (WifiRemoteStation *station,
|
||||
double ackSnr, WifiMode ackMode, double dataSnr) = 0;
|
||||
double ackSnr, WifiMode ackMode,
|
||||
double dataSnr, uint16_t dataChannelWidth) = 0;
|
||||
/**
|
||||
* This method is a pure virtual method that must be implemented by the sub-class.
|
||||
* This allows different types of WifiRemoteStationManager to respond differently,
|
||||
|
||||
@@ -167,7 +167,7 @@ PowerRateAdaptationTest::TestParf ()
|
||||
*/
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -200,10 +200,10 @@ PowerRateAdaptationTest::TestParf ()
|
||||
*/
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ());
|
||||
}
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
mode = txVector.GetMode ();
|
||||
@@ -251,7 +251,7 @@ PowerRateAdaptationTest::TestParf ()
|
||||
*/
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -284,7 +284,7 @@ PowerRateAdaptationTest::TestParf ()
|
||||
*/
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -302,7 +302,7 @@ PowerRateAdaptationTest::TestParf ()
|
||||
*/
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -318,7 +318,7 @@ PowerRateAdaptationTest::TestParf ()
|
||||
* One successful transmissions after a power decrease make recoverPower=false.
|
||||
* So we need two consecutive failures to increase power again.
|
||||
*/
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
|
||||
for (int i = 0; i < 2; i++)
|
||||
{
|
||||
@@ -388,7 +388,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
*/
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -422,7 +422,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
*/
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -441,7 +441,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -459,7 +459,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
*/
|
||||
for (int i = 0; i < 16 * 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -526,7 +526,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
*/
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -546,7 +546,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
*/
|
||||
for (int i = 0; i < 9 * 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -558,7 +558,7 @@ PowerRateAdaptationTest::TestAparf ()
|
||||
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -659,7 +659,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
*/
|
||||
for (int i = 0; i < 6; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -672,7 +672,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
/**
|
||||
* Test that 7 is enough.
|
||||
*/
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
mode = txVector.GetMode ();
|
||||
@@ -716,7 +716,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 7; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -728,7 +728,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -740,7 +740,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 13; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -752,7 +752,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 19; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -764,7 +764,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 23; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -776,7 +776,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 33; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -788,7 +788,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 43; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -808,7 +808,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 49; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -818,7 +818,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
NS_TEST_ASSERT_MSG_EQ (mode.GetDataRate (txVector.GetChannelWidth (), txVector.GetGuardInterval (), 1), 54000000, "RRPAA: Incorrect vale of data rate");
|
||||
NS_TEST_ASSERT_MSG_EQ (power, 17, "RRPAA: Incorrect value of power level");
|
||||
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
mode = txVector.GetMode ();
|
||||
@@ -836,7 +836,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 16 * 50; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -926,7 +926,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 25; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -962,7 +962,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
|
||||
for (int i = 0; i < 25; i++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet);
|
||||
@@ -982,7 +982,7 @@ PowerRateAdaptationTest::TestRrpaa ()
|
||||
{
|
||||
for (int j = 0; j < 25; j++)
|
||||
{
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ());
|
||||
manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, 20, packet->GetSize ());
|
||||
}
|
||||
|
||||
for (int j = 0; j < 5; j++)
|
||||
|
||||
Reference in New Issue
Block a user