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 
32 using namespace ns3;
33 
40 {
41 public:
43 };
44 
45 
46 
47 
55 {
56 public:
65  LteSecondaryCellSelectionTestCase (std::string name, bool isIdealRrc, int64_t rngRun, uint8_t numberOfComponentCarriers);
66 
68 
69 private:
74  virtual void DoRun ();
75 
85  void StateTransitionCallback (std::string context, uint64_t imsi,
86  uint16_t cellId, uint16_t rnti,
87  LteUeRrc::State oldState, LteUeRrc::State newState);
94  void InitialSecondaryCellSelectionEndOkCallback (std::string context, uint64_t imsi,
95  uint16_t cellId);
103  void ConnectionEstablishedCallback (std::string context, uint64_t imsi,
104  uint16_t cellId, uint16_t rnti);
105 
107  int64_t m_rngRun;
109 
111  std::map<uint64_t, LteUeRrc::State> m_lastState;
112 
113 }; // end of class LteSecondaryCellSelectionTestCase
114 
115 #endif /* LTE_TEST_SECONDARY_CELL_SELECTION_H */
Test suite for executing the secondary cell selection test cases.
uint8_t m_numberOfComponentCarriers
number of component carriers
std::map< uint64_t, LteUeRrc::State > m_lastState
The current UE RRC state.
A suite of tests to run.
Definition: test.h:1342
encapsulates test code
Definition: test.h:1155
Testing the initial cell selection procedure by UE at IDLE state in the beginning of simulation with ...
bool m_isIdealRrc
whether the LTE is configured to use ideal RRC
Every class exported by the ns3 library is enclosed in the ns3 namespace.
State
The states of the UE RRC entity.
Definition: lte-ue-rrc.h:103