A Discrete-Event Network Simulator
API
lte-test-secondary-cell-selection.h
Go to the documentation of this file.
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2/*
3 * Copyright (c) 2017 Alexander Krotov
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: Alexander Krotov <krotov@iitp.ru>
19 *
20 */
21
22#ifndef LTE_TEST_SECONDARY_CELL_SELECTION_H
23#define LTE_TEST_SECONDARY_CELL_SELECTION_H
24
25#include <ns3/test.h>
26#include <ns3/nstime.h>
27#include <ns3/node-container.h>
28#include <ns3/vector.h>
29#include <ns3/lte-ue-rrc.h>
30#include <vector>
31
32using namespace ns3;
33
45{
46public:
48};
49
50
58{
59public:
68 LteSecondaryCellSelectionTestCase (std::string name, bool isIdealRrc, uint64_t rngRun, uint8_t numberOfComponentCarriers);
69
71
72private:
77 virtual void DoRun ();
78
88 void StateTransitionCallback (std::string context, uint64_t imsi,
89 uint16_t cellId, uint16_t rnti,
90 LteUeRrc::State oldState, LteUeRrc::State newState);
97 void InitialSecondaryCellSelectionEndOkCallback (std::string context, uint64_t imsi,
98 uint16_t cellId);
106 void ConnectionEstablishedCallback (std::string context, uint64_t imsi,
107 uint16_t cellId, uint16_t rnti);
108
110 uint64_t m_rngRun;
112
114 std::map<uint64_t, LteUeRrc::State> m_lastState;
115
116}; // end of class LteSecondaryCellSelectionTestCase
117
118#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.
virtual void DoRun()
Setup the simulation according to the configuration set by the class constructor, run it,...
LteSecondaryCellSelectionTestCase(std::string name, bool isIdealRrc, uint64_t rngRun, uint8_t numberOfComponentCarriers)
Creates an instance of the initial cell selection test case.
Test suite for executing the secondary cell selection test cases.
State
The states of the UE RRC entity.
Definition: lte-ue-rrc.h:106
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.