src/wifi/model/mac-low.cc | 6 +- src/wifi/model/qos-txop.cc | 7 +- src/wifi/model/txop.cc | 9 ++- src/wifi/model/wifi-remote-station-manager.cc | 42 ++++++++++-- src/wifi/model/wifi-remote-station-manager.h | 15 +++- src/wifi/test/power-rate-adaptation-test.cc | 98 +++++++++++++-------------- 6 files changed, 110 insertions(+), 67 deletions(-) diff --git a/src/wifi/model/mac-low.cc b/src/wifi/model/mac-low.cc index 4af95390d..ba617565c 100644 --- a/src/wifi/model/mac-low.cc +++ b/src/wifi/model/mac-low.cc @@ -774,7 +774,8 @@ MacLow::ReceiveOk (Ptr packet, double rxSnr, WifiTxVector txVector, bool m_stationManager->ReportRxOk (m_currentHdr.GetAddr1 (), &m_currentHdr, rxSnr, txVector.GetMode ()); m_stationManager->ReportDataOk (m_currentHdr.GetAddr1 (), &m_currentHdr, - rxSnr, txVector.GetMode (), tag.Get ()); + rxSnr, txVector.GetMode (), tag.Get (), + m_currentPacket->GetSize ()); } bool gotAck = false; if (m_txParams.MustWaitNormalAck () @@ -1521,7 +1522,8 @@ MacLow::NormalAckTimeout (void) /// \todo should check that there was no rx start before now. /// we should restart a new ack timeout now until the expected /// end of rx if there was a rx start before now. - m_stationManager->ReportDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr); + m_stationManager->ReportDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr, + m_currentPacket->GetSize ()); Ptr txop = m_currentTxop; m_currentTxop = 0; m_ampdu = false; diff --git a/src/wifi/model/qos-txop.cc b/src/wifi/model/qos-txop.cc index d9d3eb868..166875bfb 100644 --- a/src/wifi/model/qos-txop.cc +++ b/src/wifi/model/qos-txop.cc @@ -378,11 +378,11 @@ void QosTxop::NotifyInternalCollision (void) if (!NeedDataRetransmission (packet, header)) { resetDcf = true; - m_stationManager->ReportFinalDataFailed (header.GetAddr1 (), &header); + m_stationManager->ReportFinalDataFailed (header.GetAddr1 (), &header, packet->GetSize ()); } else { - m_stationManager->ReportDataFailed (header.GetAddr1 (), &header); + m_stationManager->ReportDataFailed (header.GetAddr1 (), &header, packet->GetSize ()); } } if (resetDcf) @@ -561,7 +561,8 @@ QosTxop::MissedAck (void) if (!NeedDataRetransmission (m_currentPacket, m_currentHdr)) { NS_LOG_DEBUG ("Ack Fail"); - m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr); + m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr, + m_currentPacket->GetSize ()); bool resetCurrentPacket = true; if (!m_txFailedCallback.IsNull ()) { diff --git a/src/wifi/model/txop.cc b/src/wifi/model/txop.cc index 381ec2899..9b03f9e86 100644 --- a/src/wifi/model/txop.cc +++ b/src/wifi/model/txop.cc @@ -624,7 +624,8 @@ Txop::MissedAck (void) if (!NeedDataRetransmission (m_currentPacket, m_currentHdr)) { NS_LOG_DEBUG ("Ack Fail"); - m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr); + m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr, + m_currentPacket->GetSize ()); if (!m_txFailedCallback.IsNull ()) { m_txFailedCallback (m_currentHdr); @@ -667,7 +668,8 @@ Txop::MissedCfPollResponse (bool expectedCfAck) if (!NeedDataRetransmission (m_currentPacket, m_currentHdr)) { NS_LOG_DEBUG ("Ack Fail"); - m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr); + m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr, + m_currentPacket->GetSize ()); m_currentPacket = 0; } else @@ -735,7 +737,8 @@ Txop::SendCfFrame (WifiMacType frameType, Mac48Address addr) { if (!NeedDataRetransmission (m_currentPacket, m_currentHdr)) { - m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr); + m_stationManager->ReportFinalDataFailed (m_currentHdr.GetAddr1 (), &m_currentHdr, + m_currentPacket->GetSize ()); m_currentPacket = 0; } else diff --git a/src/wifi/model/wifi-remote-station-manager.cc b/src/wifi/model/wifi-remote-station-manager.cc index 2e3377f1d..ce84a446c 100644 --- a/src/wifi/model/wifi-remote-station-manager.cc +++ b/src/wifi/model/wifi-remote-station-manager.cc @@ -932,12 +932,21 @@ WifiRemoteStationManager::ReportRtsFailed (Mac48Address address, const WifiMacHe } void -WifiRemoteStationManager::ReportDataFailed (Mac48Address address, const WifiMacHeader *header) +WifiRemoteStationManager::ReportDataFailed (Mac48Address address, const WifiMacHeader *header, + uint32_t packetSize) { NS_LOG_FUNCTION (this << address << *header); NS_ASSERT (!address.IsGroup ()); WifiRemoteStation *station = Lookup (address, header); - station->m_slrc++; + bool longMpdu = (packetSize + header->GetSize () + WIFI_MAC_FCS_LENGTH) > m_rtsCtsThreshold; + if (longMpdu) + { + station->m_slrc++; + } + else + { + station->m_ssrc++; + } m_macTxDataFailed (address); DoReportDataFailed (station); } @@ -956,13 +965,23 @@ WifiRemoteStationManager::ReportRtsOk (Mac48Address address, const WifiMacHeader void WifiRemoteStationManager::ReportDataOk (Mac48Address address, const WifiMacHeader *header, - double ackSnr, WifiMode ackMode, double dataSnr) + double ackSnr, WifiMode ackMode, double dataSnr, + uint32_t packetSize) { NS_LOG_FUNCTION (this << address << *header << ackSnr << ackMode << dataSnr); NS_ASSERT (!address.IsGroup ()); WifiRemoteStation *station = Lookup (address, header); - station->m_state->m_info.NotifyTxSuccess (station->m_slrc); - station->m_slrc = 0; + bool longMpdu = (packetSize + header->GetSize () + WIFI_MAC_FCS_LENGTH) > m_rtsCtsThreshold; + if (longMpdu) + { + station->m_state->m_info.NotifyTxSuccess (station->m_slrc); + station->m_slrc = 0; + } + else + { + station->m_state->m_info.NotifyTxSuccess (station->m_ssrc); + station->m_ssrc = 0; + } DoReportDataOk (station, ackSnr, ackMode, dataSnr); } @@ -979,13 +998,22 @@ WifiRemoteStationManager::ReportFinalRtsFailed (Mac48Address address, const Wifi } void -WifiRemoteStationManager::ReportFinalDataFailed (Mac48Address address, const WifiMacHeader *header) +WifiRemoteStationManager::ReportFinalDataFailed (Mac48Address address, const WifiMacHeader *header, + uint32_t packetSize) { NS_LOG_FUNCTION (this << address << *header); NS_ASSERT (!address.IsGroup ()); WifiRemoteStation *station = Lookup (address, header); station->m_state->m_info.NotifyTxFailed (); - station->m_slrc = 0; + bool longMpdu = (packetSize + header->GetSize () + WIFI_MAC_FCS_LENGTH) > m_rtsCtsThreshold; + if (longMpdu) + { + station->m_slrc = 0; + } + else + { + station->m_ssrc = 0; + } m_macTxFinalDataFailed (address); DoReportFinalDataFailed (station); } diff --git a/src/wifi/model/wifi-remote-station-manager.h b/src/wifi/model/wifi-remote-station-manager.h index 12a1ed7f5..baf2d7ae7 100644 --- a/src/wifi/model/wifi-remote-station-manager.h +++ b/src/wifi/model/wifi-remote-station-manager.h @@ -659,8 +659,11 @@ public: * * \param address the address of the receiver * \param header MAC header of the DATA packet + * \param packetSize the size of DATA packet, used to determine if it is + * a long MPDU */ - void ReportDataFailed (Mac48Address address, const WifiMacHeader *header); + void ReportDataFailed (Mac48Address address, const WifiMacHeader *header, + uint32_t packetSize); /** * Should be invoked whenever we receive the Cts associated to an RTS * we just sent. Note that we also get the SNR of the RTS we sent since @@ -683,9 +686,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 packetSize the size of DATA packet, used to determine if it is + * a long MPDU */ void ReportDataOk (Mac48Address address, const WifiMacHeader *header, - double ackSnr, WifiMode ackMode, double dataSnr); + double ackSnr, WifiMode ackMode, double dataSnr, + uint32_t packetSize); /** * Should be invoked after calling ReportRtsFailed if * NeedRetransmission returns false @@ -700,8 +706,11 @@ public: * * \param address the address of the receiver * \param header MAC header of the DATA packet + * \param packetSize the size of DATA packet, used to determine if it is + * a long MPDU */ - void ReportFinalDataFailed (Mac48Address address, const WifiMacHeader *header); + void ReportFinalDataFailed (Mac48Address address, const WifiMacHeader *header, + uint32_t packetSize); /** * Typically called per A-MPDU, either when a Block ACK was successfully * received or when a BlockAckTimeout has elapsed. diff --git a/src/wifi/test/power-rate-adaptation-test.cc b/src/wifi/test/power-rate-adaptation-test.cc index dfd3484db..066175195 100644 --- a/src/wifi/test/power-rate-adaptation-test.cc +++ b/src/wifi/test/power-rate-adaptation-test.cc @@ -166,7 +166,7 @@ PowerRateAdaptationTest::TestParf () */ for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -182,7 +182,7 @@ PowerRateAdaptationTest::TestParf () * As we are using recovery power, one failure make power increase. * */ - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -199,10 +199,10 @@ PowerRateAdaptationTest::TestParf () */ for (int i = 0; i < 7; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); } - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -217,7 +217,7 @@ PowerRateAdaptationTest::TestParf () * As we are using recovery power, one failure make power increase. recoveryPower=false. */ - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -232,8 +232,8 @@ PowerRateAdaptationTest::TestParf () * After two consecutive fails the rate is decreased or the power increased. * As we are at maximal power, the rate should be decreased. */ - manager->ReportDataFailed (remoteAddress, &packetHeader); - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -250,7 +250,7 @@ PowerRateAdaptationTest::TestParf () */ for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -266,7 +266,7 @@ PowerRateAdaptationTest::TestParf () * As we are using recovery rate, one failure make rate decrease. recoveryRate=false. */ - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -283,7 +283,7 @@ PowerRateAdaptationTest::TestParf () */ for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -301,7 +301,7 @@ PowerRateAdaptationTest::TestParf () */ for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -317,11 +317,11 @@ 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); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); for (int i = 0; i < 2; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -387,7 +387,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -403,7 +403,7 @@ PowerRateAdaptationTest::TestAparf () * One failure make the power to be increased again. * Change to state Low. */ - manager->ReportDataFailed (remoteAddress, &packetHeader); + manager->ReportDataFailed (remoteAddress, &packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -421,7 +421,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -440,7 +440,7 @@ PowerRateAdaptationTest::TestAparf () for (int i = 0; i < 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -458,7 +458,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 16 * 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -474,7 +474,7 @@ PowerRateAdaptationTest::TestAparf () * After one fail the rate is decreased or the power increased. * As we are at minimal power, the power should be increased. */ - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -491,7 +491,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 16; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -508,7 +508,7 @@ PowerRateAdaptationTest::TestAparf () * As we are at maximal power, the rate should be decreased. * Set critical rate to 54 Mbps. */ - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -525,7 +525,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -545,7 +545,7 @@ PowerRateAdaptationTest::TestAparf () */ for (int i = 0; i < 9 * 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -557,7 +557,7 @@ PowerRateAdaptationTest::TestAparf () for (int i = 0; i < 3; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -658,7 +658,7 @@ PowerRateAdaptationTest::TestRrpaa () */ for (int i = 0; i < 6; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -671,7 +671,7 @@ PowerRateAdaptationTest::TestRrpaa () /** * Test that 7 is enough. */ - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -688,7 +688,7 @@ PowerRateAdaptationTest::TestRrpaa () */ for (int i = 0; i < 4; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -698,7 +698,7 @@ PowerRateAdaptationTest::TestRrpaa () NS_TEST_ASSERT_MSG_EQ (mode.GetDataRate (txVector.GetChannelWidth (), txVector.GetGuardInterval (), 1), 9000000, "RRPAA: Incorrect vale of data rate"); NS_TEST_ASSERT_MSG_EQ (power, 17, "RRPAA: Incorrect value of power level"); - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -715,7 +715,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 7; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -727,7 +727,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 10; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -739,7 +739,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 13; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -751,7 +751,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 19; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -763,7 +763,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 23; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -775,7 +775,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 33; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -787,7 +787,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 43; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -807,7 +807,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 49; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -817,7 +817,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); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); mode = txVector.GetMode (); @@ -835,7 +835,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 16 * 50; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -853,7 +853,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 6; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -871,7 +871,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 16 * 6; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -889,7 +889,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 6; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -905,7 +905,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 11; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -925,7 +925,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 25; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -937,7 +937,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 5; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -949,7 +949,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 5; i++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -961,7 +961,7 @@ PowerRateAdaptationTest::TestRrpaa () for (int i = 0; i < 25; i++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } txVector = manager->GetDataTxVector (remoteAddress, &packetHeader, packet); @@ -981,12 +981,12 @@ PowerRateAdaptationTest::TestRrpaa () { for (int j = 0; j < 25; j++) { - manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0); + manager->ReportDataOk (remoteAddress, &packetHeader, 0, ackMode, 0, packet->GetSize ()); } for (int j = 0; j < 5; j++) { - manager->ReportDataFailed (remoteAddress,&packetHeader); + manager->ReportDataFailed (remoteAddress,&packetHeader, packet->GetSize ()); } }