A Discrete-Event Network Simulator
API
lte-test-carrier-aggregation.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2016 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation;
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 *
18 * Author: Biljana Bojovic <biljana.bojovic@cttc.es>
19 *
20 */
21
22#ifndef TEST_CARRIER_AGGREGATION_H
23#define TEST_CARRIER_AGGREGATION_H
24
25#include "ns3/simulator.h"
26#include "ns3/test.h"
27#include "fcntl.h"
28
29
30using namespace ns3;
31
46{
47public:
48
49 static bool s_writeResults;
50
60 CarrierAggregationTestCase (uint16_t nUser, uint16_t dist, uint32_t dlbandwidth, uint32_t ulBandwidth, uint32_t numberOfComponentCarriers);
76 void UlScheduling (uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb, uint8_t componentCarrierId);
78 void WriteResultToFile ();
79
80
81private:
82
83 virtual void DoRun (void);
93 static std::string BuildNameString (uint16_t nUser, uint16_t dist, uint32_t dlBandwidth, uint32_t ulBandwidth, uint32_t numberOfComponentCarriers);
94
95 uint16_t m_nUser;
96 uint16_t m_dist;
97 uint16_t m_dlBandwidth;
98 uint16_t m_ulBandwidth;
100
101 std::map <uint8_t, uint32_t> m_ccDownlinkTraffic;
102 std::map <uint8_t, uint32_t> m_ccUplinkTraffic;
103 uint64_t m_dlThroughput;
104 uint64_t m_ulThroughput;
106};
107
108
109
117{
118public:
120};
121
122#endif /* TEST_CARRIER_AGGREGATION_H */
This system test program creates different test cases with a single eNB and several UEs,...
uint32_t m_numberOfComponentCarriers
number of component carriers
void DlScheduling(DlSchedulingCallbackInfo dlInfo)
DL Scheduling function that is used in this test as callback function of DL scheduling trace.
virtual void DoRun(void)
Implementation to actually run this TestCase.
static bool s_writeResults
write results flag, determines whether to write results to outoput files
void WriteResultToFile()
Write result to file function.
CarrierAggregationTestCase(uint16_t nUser, uint16_t dist, uint32_t dlbandwidth, uint32_t ulBandwidth, uint32_t numberOfComponentCarriers)
Constructor of test case.
uint16_t m_nUser
the number of users
std::map< uint8_t, uint32_t > m_ccDownlinkTraffic
CC DL traffic.
void UlScheduling(uint32_t frameNo, uint32_t subframeNo, uint16_t rnti, uint8_t mcs, uint16_t sizeTb, uint8_t componentCarrierId)
UL Scheduling function that is used in this test as callback function of UL sceduling trace.
static std::string BuildNameString(uint16_t nUser, uint16_t dist, uint32_t dlBandwidth, uint32_t ulBandwidth, uint32_t numberOfComponentCarriers)
Builds the test name string based on provided parameter values.
std::map< uint8_t, uint32_t > m_ccUplinkTraffic
CC UL traffic.
Test Carrier Aggregation Suite.
encapsulates test code
Definition: test.h:994
A suite of tests to run.
Definition: test.h:1188
Every class exported by the ns3 library is enclosed in the ns3 namespace.
DlSchedulingCallbackInfo structure.
Definition: lte-common.h:240