5G-LENA nr-v3.1-69-g2dd513a7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-stats-calculator.h
1// Copyright (c) 2021 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef NR_STATS_CALCULATOR_H_
6#define NR_STATS_CALCULATOR_H_
7
8#include "ns3/object.h"
9#include "ns3/string.h"
10
11#include <map>
12
13namespace ns3
14{
15
24class NrStatsCalculator : public Object
25{
26 public:
31
35 ~NrStatsCalculator() override;
36
41 static TypeId GetTypeId();
42
48 void SetUlOutputFilename(std::string outputFilename);
49
54 std::string GetUlOutputFilename();
55
61 void SetDlOutputFilename(std::string outputFilename);
62
67 std::string GetDlOutputFilename();
68
74 bool ExistsImsiPath(std::string path);
75
81 void SetImsiPath(std::string path, uint64_t imsi);
82
88 uint64_t GetImsiPath(std::string path);
89
95 bool ExistsCellIdPath(std::string path);
96
102 void SetCellIdPath(std::string path, uint16_t cellId);
103
109 uint16_t GetCellIdPath(std::string path);
110
111 protected:
117 static uint64_t FindImsiFromGnbRlcPath(std::string path);
118
124 static uint64_t FindImsiFromNrUeNetDevice(std::string path);
125
131 static uint16_t FindCellIdFromGnbRlcPath(std::string path);
132
139 static uint64_t FindImsiFromGnbMac(std::string path, uint16_t rnti);
140
147 static uint16_t FindCellIdFromGnbMac(std::string path, uint16_t rnti);
148
149 private:
153 std::map<std::string, uint64_t> m_pathImsiMap;
154
158 std::map<std::string, uint16_t> m_pathCellIdMap;
159
163 std::string m_dlOutputFilename;
164
168 std::string m_ulOutputFilename;
169};
170
171} // namespace ns3
172
173#endif /* NR_STATS_CALCULATOR_H_ */
void SetCellIdPath(std::string path, uint16_t cellId)
static uint64_t FindImsiFromGnbRlcPath(std::string path)
static uint16_t FindCellIdFromGnbMac(std::string path, uint16_t rnti)
static uint16_t FindCellIdFromGnbRlcPath(std::string path)
static uint64_t FindImsiFromGnbMac(std::string path, uint16_t rnti)
uint16_t GetCellIdPath(std::string path)
uint64_t GetImsiPath(std::string path)
bool ExistsImsiPath(std::string path)
bool ExistsCellIdPath(std::string path)
static uint64_t FindImsiFromNrUeNetDevice(std::string path)
void SetDlOutputFilename(std::string outputFilename)
void SetUlOutputFilename(std::string outputFilename)
void SetImsiPath(std::string path, uint64_t imsi)