wifi: Switch to using the QosFrameExchangeManager on QoS stations

This commit is contained in:
Stefano Avallone
2020-11-25 22:44:41 +01:00
parent ba68ed7d78
commit cf13cf328f
3 changed files with 13 additions and 4 deletions

View File

@@ -372,7 +372,7 @@ int main (int argc, char *argv[])
throughput = totalPacketsThroughB * payloadSize * 8 / (simulationTime * 1000000.0);
std::cout << "AC_BE with non-default TXOP limit (3.008ms): " << '\n'
<< " Throughput = " << throughput << " Mbit/s" << '\n';
if (verifyResults && (throughput < 35.5 || throughput > 36.5))
if (verifyResults && (throughput < 35 || throughput > 36))
{
NS_LOG_ERROR ("Obtained throughput " << throughput << " is not in the expected boundaries!");
exit (1);
@@ -387,7 +387,7 @@ int main (int argc, char *argv[])
throughput = totalPacketsThroughC * payloadSize * 8 / (simulationTime * 1000000.0);
std::cout << "AC_VI with default TXOP limit (3.008ms): " << '\n'
<< " Throughput = " << throughput << " Mbit/s" << '\n';
if (verifyResults && (throughput < 36 || throughput > 37))
if (verifyResults && (throughput < 35 || throughput > 36))
{
NS_LOG_ERROR ("Obtained throughput " << throughput << " is not in the expected boundaries!");
exit (1);

View File

@@ -973,6 +973,7 @@ WifiHelper::EnableLogComponents (void)
LogComponentEnable ("ConstantWifiAckPolicySelector", LOG_LEVEL_ALL);
LogComponentEnable ("ChannelAccessManager", LOG_LEVEL_ALL);
LogComponentEnable ("DsssErrorRateModel", LOG_LEVEL_ALL);
LogComponentEnable ("FrameExchangeManager", LOG_LEVEL_ALL);
LogComponentEnable ("HeConfiguration", LOG_LEVEL_ALL);
LogComponentEnable ("HtConfiguration", LOG_LEVEL_ALL);
LogComponentEnable ("IdealWifiManager", LOG_LEVEL_ALL);
@@ -990,6 +991,7 @@ WifiHelper::EnableLogComponents (void)
LogComponentEnable ("OnoeWifiManager", LOG_LEVEL_ALL);
LogComponentEnable ("OriginatorBlockAckAgreement", LOG_LEVEL_ALL);
LogComponentEnable ("ParfWifiManager", LOG_LEVEL_ALL);
LogComponentEnable ("QosFrameExchangeManager", LOG_LEVEL_ALL);
LogComponentEnable ("QosTxop", LOG_LEVEL_ALL);
LogComponentEnable ("RegularWifiMac", LOG_LEVEL_ALL);
LogComponentEnable ("RraaWifiManager", LOG_LEVEL_ALL);

View File

@@ -36,7 +36,7 @@
#include "he-configuration.h"
#include <algorithm>
#include <cmath>
#include "frame-exchange-manager.h"
#include "qos-frame-exchange-manager.h"
namespace ns3 {
@@ -149,7 +149,7 @@ RegularWifiMac::SetupFrameExchangeManager (void)
}
else if (GetQosSupported ())
{
// TODO create a QoS Frame Exchange Manager
m_feManager = CreateObject<QosFrameExchangeManager> ();
}
else
{
@@ -164,6 +164,13 @@ RegularWifiMac::SetupFrameExchangeManager (void)
m_feManager->SetAddress (GetAddress ());
m_feManager->SetBssid (GetBssid ());
m_channelAccessManager->SetupFrameExchangeManager (m_feManager);
if (GetQosSupported ())
{
for (const auto& pair : m_edca)
{
pair.second->SetQosFrameExchangeManager (DynamicCast<QosFrameExchangeManager> (m_feManager));
}
}
}
}