5G-LENA nr-v3.0-33-g7aea1e4
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-stats-calculator.h
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
3// Copyright (c) 2021 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4//
5// SPDX-License-Identifier: GPL-2.0-only
6
7#ifndef NR_STATS_CALCULATOR_H_
8#define NR_STATS_CALCULATOR_H_
9
10#include "ns3/object.h"
11#include "ns3/string.h"
12
13#include <map>
14
15namespace ns3
16{
17
26class NrStatsCalculator : public Object
27{
28 public:
33
37 ~NrStatsCalculator() override;
38
43 static TypeId GetTypeId();
44
50 void SetUlOutputFilename(std::string outputFilename);
51
56 std::string GetUlOutputFilename();
57
63 void SetDlOutputFilename(std::string outputFilename);
64
69 std::string GetDlOutputFilename();
70
76 bool ExistsImsiPath(std::string path);
77
83 void SetImsiPath(std::string path, uint64_t imsi);
84
90 uint64_t GetImsiPath(std::string path);
91
97 bool ExistsCellIdPath(std::string path);
98
104 void SetCellIdPath(std::string path, uint16_t cellId);
105
111 uint16_t GetCellIdPath(std::string path);
112
113 protected:
119 static uint64_t FindImsiFromGnbRlcPath(std::string path);
120
126 static uint64_t FindImsiFromNrUeNetDevice(std::string path);
127
133 static uint16_t FindCellIdFromGnbRlcPath(std::string path);
134
141 static uint64_t FindImsiFromGnbMac(std::string path, uint16_t rnti);
142
149 static uint16_t FindCellIdFromGnbMac(std::string path, uint16_t rnti);
150
151 private:
155 std::map<std::string, uint64_t> m_pathImsiMap;
156
160 std::map<std::string, uint16_t> m_pathCellIdMap;
161
165 std::string m_dlOutputFilename;
166
170 std::string m_ulOutputFilename;
171};
172
173} // namespace ns3
174
175#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)