A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
lte-test-tdtbfq-ff-mac-scheduler.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Marco Miozzo <marco.miozzo@cttc.es>,
7
* Nicola Baldo <nbaldo@cttc.es>
8
* Dizhi Zhou <dizhi.zhou@gmail.com>
9
*/
10
11
#ifndef LENA_TEST_TDTBFQ_FF_MAC_SCHEDULER_H
12
#define LENA_TEST_TDTBFQ_FF_MAC_SCHEDULER_H
13
14
#include "ns3/simulator.h"
15
#include "ns3/test.h"
16
17
using namespace
ns3
;
18
19
/**
20
* \ingroup lte-test
21
*
22
* \brief This system test program creates different test cases with a single eNB and
23
* several UEs, all having the same Radio Bearer specification. In each test
24
* case, the UEs see the same SINR from the eNB; different test cases are
25
* implemented obtained by using different SINR values and different numbers of
26
* UEs. The test consists on checking that the obtained throughput performance
27
* is equal among users is consistent with the definition of token bank fair
28
* queue scheduling
29
*/
30
class
LenaTdTbfqFfMacSchedulerTestCase1
:
public
TestCase
31
{
32
public
:
33
/**
34
* Constructor
35
*
36
* \param nUser the number of UE nodes
37
* \param dist the distance between nodes
38
* \param thrRefDl the DL throughput reference
39
* \param thrRefUl the UL throughput reference
40
* \param packetSize the packet size
41
* \param interval the interval time
42
* \param errorModelEnabled if true the error model is enabled
43
*/
44
LenaTdTbfqFfMacSchedulerTestCase1
(uint16_t nUser,
45
double
dist,
46
double
thrRefDl,
47
double
thrRefUl,
48
uint16_t
packetSize
,
49
uint16_t interval,
50
bool
errorModelEnabled);
51
~LenaTdTbfqFfMacSchedulerTestCase1
()
override
;
52
53
private
:
54
/**
55
* Builds the test name string based on provided parameter values
56
* \param nUser the number of UE nodes
57
* \param dist the distance between UE nodes and eNodeB
58
* \returns the name string
59
*/
60
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
61
void
DoRun
()
override
;
62
uint16_t
m_nUser
;
///< number of UE nodes
63
double
m_dist
;
///< the distance between nodes
64
uint16_t
m_packetSize
;
///< the packet size in bytes
65
uint16_t
m_interval
;
///< the interval time in ms
66
double
m_thrRefDl
;
///< the DL throughput reference
67
double
m_thrRefUl
;
///< the UL throughput reference
68
bool
m_errorModelEnabled
;
///< whether the error model is enabled
69
};
70
71
/**
72
* \ingroup lte-test
73
*
74
* \brief Lena TdTbfq Ff Mac Scheduler Test Case 2
75
*/
76
class
LenaTdTbfqFfMacSchedulerTestCase2
:
public
TestCase
77
{
78
public
:
79
/**
80
* Constructor
81
*
82
* \param dist the distance between nodes
83
* \param estThrTdTbfqDl the estimated DL throughput TdTbfq
84
* \param packetSize the packet size
85
* \param interval the interval time
86
* \param errorModelEnabled if true the error model is enabled
87
*/
88
LenaTdTbfqFfMacSchedulerTestCase2
(std::vector<double> dist,
89
std::vector<uint32_t> estThrTdTbfqDl,
90
std::vector<uint16_t>
packetSize
,
91
uint16_t interval,
92
bool
errorModelEnabled);
93
~LenaTdTbfqFfMacSchedulerTestCase2
()
override
;
94
95
private
:
96
/**
97
* Builds the test name string based on provided parameter values
98
* \param nUser the number of UE nodes
99
* \param dist the distance between nodes
100
* \returns the name string
101
*/
102
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
103
void
DoRun
()
override
;
104
uint16_t
m_nUser
;
///< number of UE nodes
105
std::vector<double>
m_dist
;
///< the distance between nodes
106
std::vector<uint16_t>
m_packetSize
;
///< the packet size in bytes
107
uint16_t
m_interval
;
///< the packet interval time in ms
108
std::vector<uint32_t>
m_estThrTdTbfqDl
;
///< the estimated downlink throughput
109
bool
m_errorModelEnabled
;
///< whether the error model is enabled
110
};
111
112
/**
113
* \ingroup lte-test
114
*
115
* \brief Test suite for TdTbfqFfMacScheduler test.
116
*/
117
class
LenaTestTdTbfqFfMacSchedulerSuite
:
public
TestSuite
118
{
119
public
:
120
LenaTestTdTbfqFfMacSchedulerSuite
();
121
};
122
123
#endif
/* LENA_TEST_TDTBFQ_FF_MAC_SCHEDULER_H */
LenaTdTbfqFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:31
LenaTdTbfqFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:62
LenaTdTbfqFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
the UL throughput reference
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:67
LenaTdTbfqFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
whether the error model is enabled
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:68
LenaTdTbfqFfMacSchedulerTestCase1::m_dist
double m_dist
the distance between nodes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:63
LenaTdTbfqFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
the DL throughput reference
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:66
LenaTdTbfqFfMacSchedulerTestCase1::~LenaTdTbfqFfMacSchedulerTestCase1
~LenaTdTbfqFfMacSchedulerTestCase1() override
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:288
LenaTdTbfqFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:293
LenaTdTbfqFfMacSchedulerTestCase1::m_packetSize
uint16_t m_packetSize
the packet size in bytes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:64
LenaTdTbfqFfMacSchedulerTestCase1::LenaTdTbfqFfMacSchedulerTestCase1
LenaTdTbfqFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, uint16_t packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:270
LenaTdTbfqFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:263
LenaTdTbfqFfMacSchedulerTestCase1::m_interval
uint16_t m_interval
the interval time in ms
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:65
LenaTdTbfqFfMacSchedulerTestCase2
Lena TdTbfq Ff Mac Scheduler Test Case 2.
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:77
LenaTdTbfqFfMacSchedulerTestCase2::m_packetSize
std::vector< uint16_t > m_packetSize
the packet size in bytes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:106
LenaTdTbfqFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
the distance between nodes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:105
LenaTdTbfqFfMacSchedulerTestCase2::m_interval
uint16_t m_interval
the packet interval time in ms
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:107
LenaTdTbfqFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
whether the error model is enabled
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:109
LenaTdTbfqFfMacSchedulerTestCase2::m_estThrTdTbfqDl
std::vector< uint32_t > m_estThrTdTbfqDl
the estimated downlink throughput
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:108
LenaTdTbfqFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:104
LenaTdTbfqFfMacSchedulerTestCase2::~LenaTdTbfqFfMacSchedulerTestCase2
~LenaTdTbfqFfMacSchedulerTestCase2() override
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:563
LenaTdTbfqFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:568
LenaTdTbfqFfMacSchedulerTestCase2::LenaTdTbfqFfMacSchedulerTestCase2
LenaTdTbfqFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > estThrTdTbfqDl, std::vector< uint16_t > packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:547
LenaTdTbfqFfMacSchedulerTestCase2::BuildNameString
static std::string BuildNameString(uint16_t nUser, std::vector< double > dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:535
LenaTestTdTbfqFfMacSchedulerSuite
Test suite for TdTbfqFfMacScheduler test.
Definition
lte-test-tdtbfq-ff-mac-scheduler.h:118
LenaTestTdTbfqFfMacSchedulerSuite::LenaTestTdTbfqFfMacSchedulerSuite
LenaTestTdTbfqFfMacSchedulerSuite()
Definition
lte-test-tdtbfq-ff-mac-scheduler.cc:54
ns3::TestCase
encapsulates test code
Definition
test.h:1050
ns3::TestSuite
A suite of tests to run.
Definition
test.h:1267
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
packetSize
static const uint32_t packetSize
Packet size generated at the AP.
Definition
wifi-power-adaptation-distance.cc:96
src
lte
test
lte-test-tdtbfq-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:04 for ns-3 by
1.11.0