Similar to the LenaPssFfMacSchedulerTestCase1 with the difference that UEs are places in such a way to experience different SINRs. More...
#include "lte-test-pss-ff-mac-scheduler.h"
 Inheritance diagram for LenaPssFfMacSchedulerTestCase2:
 Inheritance diagram for LenaPssFfMacSchedulerTestCase2: Collaboration diagram for LenaPssFfMacSchedulerTestCase2:
 Collaboration diagram for LenaPssFfMacSchedulerTestCase2:| Public Member Functions | |
| LenaPssFfMacSchedulerTestCase2 (std::vector< double > dist, std::vector< uint32_t > estThrPssDl, std::vector< uint16_t > packetSize, uint16_t interval, bool errorModelEnabled) | |
| Constructor. | |
| ~LenaPssFfMacSchedulerTestCase2 () override | |
|  Public Member Functions inherited from ns3::TestCase | |
| TestCase (const TestCase &)=delete | |
| virtual | ~TestCase () | 
| Destructor. | |
| std::string | GetName () const | 
| TestCase & | operator= (const TestCase &)=delete | 
| Private Member Functions | |
| void | DoRun () override | 
| Implementation to actually run this TestCase. | |
| Static Private Member Functions | |
| static std::string | BuildNameString (uint16_t nUser, std::vector< double > dist) | 
| Builds the test name string based on provided parameter values. | |
| Private Attributes | |
| std::vector< double > | m_dist | 
| the distance between nodes | |
| bool | m_errorModelEnabled | 
| indicates whether the error model is enabled | |
| std::vector< uint32_t > | m_estThrPssDl | 
| the DL estimated throughput PSS | |
| uint16_t | m_interval | 
| the interval time in ms | |
| uint16_t | m_nUser | 
| number of UE nodes | |
| std::vector< uint16_t > | m_packetSize | 
| the packet size in bytes | |
| Additional Inherited Members | |
|  Public Types inherited from ns3::TestCase | |
| enum class | Duration { QUICK = 1 , EXTENSIVE = 2 , TAKES_FOREVER = 3 } | 
| How long the test takes to execute.  More... | |
|  Protected Member Functions inherited from ns3::TestCase | |
| TestCase (std::string name) | |
| Constructor. | |
| void | AddTestCase (TestCase *testCase, Duration duration=Duration::QUICK) | 
| Add an individual child TestCase to this test suite. | |
| TestCase * | GetParent () const | 
| Get the parent of this TestCase. | |
| bool | IsStatusFailure () const | 
| Check if any tests failed. | |
| bool | IsStatusSuccess () const | 
| Check if all tests passed. | |
| void | SetDataDir (std::string directory) | 
| Set the data directory where reference trace files can be found. | |
| void | ReportTestFailure (std::string cond, std::string actual, std::string limit, std::string message, std::string file, int32_t line) | 
| Log the failure of this TestCase. | |
| bool | MustAssertOnFailure () const | 
| Check if this run should assert on failure. | |
| bool | MustContinueOnFailure () const | 
| Check if this run should continue on failure. | |
| std::string | CreateDataDirFilename (std::string filename) | 
| Construct the full path to a file in the data directory. | |
| std::string | CreateTempDirFilename (std::string filename) | 
| Construct the full path to a file in a temporary directory. | |
Similar to the LenaPssFfMacSchedulerTestCase1 with the difference that UEs are places in such a way to experience different SINRs.
Test checks if the achieved throughput in such conditions has expected value.
Definition at line 78 of file lte-test-pss-ff-mac-scheduler.h.
| LenaPssFfMacSchedulerTestCase2::LenaPssFfMacSchedulerTestCase2 | ( | std::vector< double > | dist, | 
| std::vector< uint32_t > | estThrPssDl, | ||
| std::vector< uint16_t > | packetSize, | ||
| uint16_t | interval, | ||
| bool | errorModelEnabled ) | 
Constructor.
| dist | the distance between nodes | 
| estThrPssDl | the estimated DL throughput PSS | 
| packetSize | the packet size | 
| interval | the interval time | 
| errorModelEnabled | if true the error model is enabled | 
Definition at line 544 of file lte-test-pss-ff-mac-scheduler.cc.
References ns3::TestCase::TestCase(), BuildNameString(), m_dist, m_errorModelEnabled, m_estThrPssDl, m_interval, m_nUser, m_packetSize, and packetSize.
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | override | 
Definition at line 559 of file lte-test-pss-ff-mac-scheduler.cc.
| 
 | staticprivate | 
Builds the test name string based on provided parameter values.
| nUser | the number of UE nodes | 
| dist | the distance between nodes | 
Definition at line 532 of file lte-test-pss-ff-mac-scheduler.cc.
Referenced by LenaPssFfMacSchedulerTestCase2().
 Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | overrideprivatevirtual | 
Implementation to actually run this TestCase.
Subclasses should override this method to conduct their tests.
Check that the downlink assignment is done in a "token bank fair queue" manner
Implements ns3::TestCase.
Definition at line 564 of file lte-test-pss-ff-mac-scheduler.cc.
References ns3::Ipv4AddressHelper::Assign(), ns3::NodeContainer::Create(), ns3::CreateObject(), ns3::TestCase::CreateTempDirFilename(), ns3::EpcTft::Default(), ns3::Simulator::Destroy(), ns3::EpsBearer::GBR_CONV_VOICE, ns3::GbrQosInformation::gbrDl, ns3::GbrQosInformation::gbrUl, ns3::NetDeviceContainer::Get(), ns3::NodeContainer::Get(), ns3::Ipv4InterfaceContainer::GetAddress(), ns3::Ipv4Address::GetAny(), ns3::NodeContainer::GetN(), ns3::Object::GetObject(), ns3::Ipv4StaticRoutingHelper::GetStaticRouting(), ns3::ApplicationHelper::Install(), ns3::PointToPointHelper::Install(), m_dist, m_errorModelEnabled, m_estThrPssDl, m_interval, m_nUser, m_packetSize, ns3::GbrQosInformation::mbrDl, ns3::GbrQosInformation::mbrUl, ns3::MilliSeconds(), NS_LOG_INFO, NS_TEST_ASSERT_MSG_EQ_TOL, ns3::Simulator::Run(), ns3::Seconds(), ns3::ApplicationHelper::SetAttribute(), ns3::Ipv4AddressHelper::SetBase(), ns3::PointToPointHelper::SetChannelAttribute(), ns3::TestCase::SetDataDir(), ns3::Config::SetDefault(), ns3::PointToPointHelper::SetDeviceAttribute(), ns3::FfMacScheduler::SRS_UL_CQI, and ns3::Simulator::Stop().
 Here is the call graph for this function:
 Here is the call graph for this function:| 
 | private | 
the distance between nodes
Definition at line 107 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().
| 
 | private | 
indicates whether the error model is enabled
Definition at line 111 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().
| 
 | private | 
the DL estimated throughput PSS
Definition at line 110 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().
| 
 | private | 
the interval time in ms
Definition at line 109 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().
| 
 | private | 
number of UE nodes
Definition at line 106 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().
| 
 | private | 
the packet size in bytes
Definition at line 108 of file lte-test-pss-ff-mac-scheduler.h.
Referenced by LenaPssFfMacSchedulerTestCase2(), and DoRun().