A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-test-secondary-cell-selection.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2017 Alexander Krotov
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Alexander Krotov <krotov@iitp.ru>
18 *
19 */
20
21#ifndef LTE_TEST_SECONDARY_CELL_SELECTION_H
22#define LTE_TEST_SECONDARY_CELL_SELECTION_H
23
24#include <ns3/lte-ue-rrc.h>
25#include <ns3/node-container.h>
26#include <ns3/nstime.h>
27#include <ns3/test.h>
28#include <ns3/vector.h>
29
30#include <vector>
31
32using namespace ns3;
33
45{
46 public:
48};
49
57{
58 public:
67 LteSecondaryCellSelectionTestCase(std::string name,
68 bool isIdealRrc,
69 uint64_t rngRun,
70 uint8_t numberOfComponentCarriers);
71
73
74 private:
79 void DoRun() override;
80
90 void StateTransitionCallback(std::string context,
91 uint64_t imsi,
92 uint16_t cellId,
93 uint16_t rnti,
94 LteUeRrc::State oldState,
95 LteUeRrc::State newState);
103 uint64_t imsi,
104 uint16_t cellId);
112 void ConnectionEstablishedCallback(std::string context,
113 uint64_t imsi,
114 uint16_t cellId,
115 uint16_t rnti);
116
118 uint64_t m_rngRun;
120
122 std::map<uint64_t, LteUeRrc::State> m_lastState;
123
124}; // end of class LteSecondaryCellSelectionTestCase
125
126#endif /* LTE_TEST_SECONDARY_CELL_SELECTION_H */
Testing the initial cell selection procedure by UE at IDLE state in the beginning of simulation with ...
void StateTransitionCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti, LteUeRrc::State oldState, LteUeRrc::State newState)
State transition callback function.
bool m_isIdealRrc
whether the LTE is configured to use ideal RRC
uint8_t m_numberOfComponentCarriers
number of component carriers
void InitialSecondaryCellSelectionEndOkCallback(std::string context, uint64_t imsi, uint16_t cellId)
Initial cell selection end ok callback function.
std::map< uint64_t, LteUeRrc::State > m_lastState
The current UE RRC state.
void ConnectionEstablishedCallback(std::string context, uint64_t imsi, uint16_t cellId, uint16_t rnti)
Connection established callback function.
void DoRun() override
Setup the simulation according to the configuration set by the class constructor, run it,...
Test suite for executing the secondary cell selection test cases.
State
The states of the UE RRC entity.
Definition: lte-ue-rrc.h:99
encapsulates test code
Definition: test.h:1060
A suite of tests to run.
Definition: test.h:1256
Every class exported by the ns3 library is enclosed in the ns3 namespace.