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-fdtbfq-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_FDTBFQ_FF_MAC_SCHEDULER_H
12
#define LENA_TEST_FDTBFQ_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
LenaFdTbfqFfMacSchedulerTestCase1
:
public
TestCase
31
{
32
public
:
33
/**
34
* Constructor
35
*
36
* \param nUser number of UE nodes
37
* \param dist distance between nodes
38
* \param thrRefDl DL throughput reference
39
* \param thrRefUl UL throughput reference
40
* \param packetSize packet size
41
* \param interval time interval
42
* \param errorModelEnabled error model enabled?
43
*/
44
LenaFdTbfqFfMacSchedulerTestCase1
(uint16_t nUser,
45
double
dist,
46
double
thrRefDl,
47
double
thrRefUl,
48
uint16_t
packetSize
,
49
uint16_t interval,
50
bool
errorModelEnabled);
51
~LenaFdTbfqFfMacSchedulerTestCase1
()
override
;
52
53
private
:
54
/**
55
* Builds the test name string based on provided parameter values
56
*
57
* \param nUser number of UE nodes
58
* \param dist distance between nodes
59
* \returns name string
60
*/
61
static
std::string
BuildNameString
(uint16_t nUser,
double
dist);
62
void
DoRun
()
override
;
63
uint16_t
m_nUser
;
///< number of UE nodes
64
double
m_dist
;
///< distance between the nodes
65
uint16_t
m_packetSize
;
///< packet size in bytes
66
uint16_t
m_interval
;
///< interval time in ms
67
double
m_thrRefDl
;
///< DL throughput reference
68
double
m_thrRefUl
;
///< UL throughput reference
69
bool
m_errorModelEnabled
;
///< whether the error model is enabled
70
};
71
72
/**
73
* \ingroup lte-test
74
*
75
* \brief Test case is similar to the one defined in
76
* LenaFdTbfqFfMacSchedulerTestCase1, with the difference that UEs are
77
* placed in such a way to experience different SINRs from eNodeB.
78
*/
79
class
LenaFdTbfqFfMacSchedulerTestCase2
:
public
TestCase
80
{
81
public
:
82
/**
83
* Constructor
84
*
85
* \param dist distance between nodes
86
* \param estThrFdTbfqDl estimated DL throughput
87
* \param packetSize packet size
88
* \param interval time interval
89
* \param errorModelEnabled indicates whether the error model is enabled
90
*/
91
LenaFdTbfqFfMacSchedulerTestCase2
(std::vector<double> dist,
92
std::vector<uint32_t> estThrFdTbfqDl,
93
std::vector<uint16_t>
packetSize
,
94
uint16_t interval,
95
bool
errorModelEnabled);
96
~LenaFdTbfqFfMacSchedulerTestCase2
()
override
;
97
98
private
:
99
/**
100
* Builds the test name string based on provided parameter values
101
*
102
* \param nUser number of UE nodes
103
* \param dist distance between nodes
104
* \returns name string
105
*/
106
static
std::string
BuildNameString
(uint16_t nUser, std::vector<double> dist);
107
void
DoRun
()
override
;
108
uint16_t
m_nUser
;
///< number of UE nodes
109
std::vector<double>
m_dist
;
///< distance between the nodes
110
std::vector<uint16_t>
m_packetSize
;
///< packet size in bytes
111
uint16_t
m_interval
;
///< interval time in ms
112
std::vector<uint32_t>
m_estThrFdTbfqDl
;
///< estimated thrpughput FDTBFQ DL
113
bool
m_errorModelEnabled
;
///< error model enabled?
114
};
115
116
/**
117
* \ingroup lte-test
118
*
119
* \brief Test suit for FdTbfqFfMacScheduler test.
120
*/
121
class
LenaTestFdTbfqFfMacSchedulerSuite
:
public
TestSuite
122
{
123
public
:
124
LenaTestFdTbfqFfMacSchedulerSuite
();
125
};
126
127
#endif
/* LENA_TEST_FDTBFQ_FF_MAC_SCHEDULER_H */
LenaFdTbfqFfMacSchedulerTestCase1
This system test program creates different test cases with a single eNB and several UEs,...
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:31
LenaFdTbfqFfMacSchedulerTestCase1::BuildNameString
static std::string BuildNameString(uint16_t nUser, double dist)
Builds the test name string based on provided parameter values.
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:263
LenaFdTbfqFfMacSchedulerTestCase1::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:63
LenaFdTbfqFfMacSchedulerTestCase1::m_thrRefUl
double m_thrRefUl
UL throughput reference.
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:68
LenaFdTbfqFfMacSchedulerTestCase1::LenaFdTbfqFfMacSchedulerTestCase1
LenaFdTbfqFfMacSchedulerTestCase1(uint16_t nUser, double dist, double thrRefDl, double thrRefUl, uint16_t packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:270
LenaFdTbfqFfMacSchedulerTestCase1::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:293
LenaFdTbfqFfMacSchedulerTestCase1::m_thrRefDl
double m_thrRefDl
DL throughput reference.
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:67
LenaFdTbfqFfMacSchedulerTestCase1::m_packetSize
uint16_t m_packetSize
packet size in bytes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:65
LenaFdTbfqFfMacSchedulerTestCase1::~LenaFdTbfqFfMacSchedulerTestCase1
~LenaFdTbfqFfMacSchedulerTestCase1() override
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:288
LenaFdTbfqFfMacSchedulerTestCase1::m_interval
uint16_t m_interval
interval time in ms
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:66
LenaFdTbfqFfMacSchedulerTestCase1::m_dist
double m_dist
distance between the nodes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:64
LenaFdTbfqFfMacSchedulerTestCase1::m_errorModelEnabled
bool m_errorModelEnabled
whether the error model is enabled
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:69
LenaFdTbfqFfMacSchedulerTestCase2
Test case is similar to the one defined in LenaFdTbfqFfMacSchedulerTestCase1, with the difference tha...
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:80
LenaFdTbfqFfMacSchedulerTestCase2::m_errorModelEnabled
bool m_errorModelEnabled
error model enabled?
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:113
LenaFdTbfqFfMacSchedulerTestCase2::DoRun
void DoRun() override
Implementation to actually run this TestCase.
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:569
LenaFdTbfqFfMacSchedulerTestCase2::m_estThrFdTbfqDl
std::vector< uint32_t > m_estThrFdTbfqDl
estimated thrpughput FDTBFQ DL
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:112
LenaFdTbfqFfMacSchedulerTestCase2::m_interval
uint16_t m_interval
interval time in ms
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:111
LenaFdTbfqFfMacSchedulerTestCase2::m_nUser
uint16_t m_nUser
number of UE nodes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:108
LenaFdTbfqFfMacSchedulerTestCase2::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-fdtbfq-ff-mac-scheduler.cc:536
LenaFdTbfqFfMacSchedulerTestCase2::m_dist
std::vector< double > m_dist
distance between the nodes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:109
LenaFdTbfqFfMacSchedulerTestCase2::m_packetSize
std::vector< uint16_t > m_packetSize
packet size in bytes
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:110
LenaFdTbfqFfMacSchedulerTestCase2::LenaFdTbfqFfMacSchedulerTestCase2
LenaFdTbfqFfMacSchedulerTestCase2(std::vector< double > dist, std::vector< uint32_t > estThrFdTbfqDl, std::vector< uint16_t > packetSize, uint16_t interval, bool errorModelEnabled)
Constructor.
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:548
LenaFdTbfqFfMacSchedulerTestCase2::~LenaFdTbfqFfMacSchedulerTestCase2
~LenaFdTbfqFfMacSchedulerTestCase2() override
Definition
lte-test-fdtbfq-ff-mac-scheduler.cc:564
LenaTestFdTbfqFfMacSchedulerSuite
Test suit for FdTbfqFfMacScheduler test.
Definition
lte-test-fdtbfq-ff-mac-scheduler.h:122
LenaTestFdTbfqFfMacSchedulerSuite::LenaTestFdTbfqFfMacSchedulerSuite
LenaTestFdTbfqFfMacSchedulerSuite()
Definition
lte-test-fdtbfq-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-fdtbfq-ff-mac-scheduler.h
Generated on Fri Nov 8 2024 13:59:03 for ns-3 by
1.11.0