5G-LENA nr-v3.0-33-g7aea1e4
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-mac-scheduling-stats.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_MAC_SCHEDULING_STATS_H_
8#define NR_MAC_SCHEDULING_STATS_H_
9
10#include "nr-stats-calculator.h"
11
12#include "ns3/nr-gnb-mac.h"
13#include "ns3/nstime.h"
14#include "ns3/uinteger.h"
15
16#include <fstream>
17#include <string>
18
19namespace ns3
20{
21
38{
39 public:
44
48 ~NrMacSchedulingStats() override;
49
50 // Inherited from ns3::Object
55 static TypeId GetTypeId();
56
62 void SetUlOutputFilename(std::string outputFilename);
63
68 std::string GetUlOutputFilename();
69
75 void SetDlOutputFilename(std::string outputFilename);
76
81 std::string GetDlOutputFilename();
82
90 void DlScheduling(uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo& traceInfo);
91
99 void UlScheduling(uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo& traceInfo);
100
109 static void DlSchedulingCallback(Ptr<NrMacSchedulingStats> macStats,
110 std::string path,
111 NrSchedulingCallbackInfo traceInfo);
112
120 static void UlSchedulingCallback(Ptr<NrMacSchedulingStats> macStats,
121 std::string path,
122 NrSchedulingCallbackInfo traceInfo);
123
124 private:
130 std::ofstream outDlFile;
136 std::ofstream outUlFile;
137};
138
139} // namespace ns3
140
141#endif /* NR_MAC_SCHEDULING_STATS_H_ */
void DlScheduling(uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo &traceInfo)
void SetDlOutputFilename(std::string outputFilename)
void SetUlOutputFilename(std::string outputFilename)
void UlScheduling(uint16_t cellId, uint64_t imsi, const NrSchedulingCallbackInfo &traceInfo)
static void UlSchedulingCallback(Ptr< NrMacSchedulingStats > macStats, std::string path, NrSchedulingCallbackInfo traceInfo)
static void DlSchedulingCallback(Ptr< NrMacSchedulingStats > macStats, std::string path, NrSchedulingCallbackInfo traceInfo)
NrSchedulingCallbackInfo structure.