5G-LENA nr-v4.0
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
traffic-generator-test.h
1// Copyright (c) 2022 CTTC
2// Copyright (c) 2023 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3//
4// SPDX-License-Identifier: GPL-2.0-only
5
6#ifndef TRAFFIC_GENERATOR_TEST_H
7#define TRAFFIC_GENERATOR_TEST_H
8
9#include "ns3/abort.h"
10#include "ns3/config.h"
11#include "ns3/inet-socket-address.h"
12#include "ns3/internet-stack-helper.h"
13#include "ns3/ipv4-address-helper.h"
14#include "ns3/ipv4-global-routing-helper.h"
15#include "ns3/log.h"
16#include "ns3/packet-sink-helper.h"
17#include "ns3/packet-sink.h"
18#include "ns3/simple-channel.h"
19#include "ns3/simple-net-device.h"
20#include "ns3/simulator.h"
21#include "ns3/string.h"
22#include "ns3/test.h"
23#include "ns3/three-gpp-http-variables.h"
24#include "ns3/traffic-generator-helper.h"
25#include "ns3/traffic-generator-ngmn-ftp-multi.h"
26#include "ns3/traffic-generator-ngmn-gaming.h"
27#include "ns3/traffic-generator-ngmn-video.h"
28#include "ns3/traffic-generator-ngmn-voip.h"
29#include "ns3/uinteger.h"
30
31#include <fstream>
32#include <list>
33
34namespace ns3
35{
36
50class TrafficGeneratorTestCase : public TestCase
51{
52 public:
53 TrafficGeneratorTestCase(std::string name,
54 TypeId trafficGeneratorType,
55 std::string transportProtocol);
57
58 private:
59 void DoRun() override;
60 TypeId m_trafficGeneratorType;
62 std::string m_transportProtocol;
63};
64
71class TrafficGeneratorNgmnFtpTestCase : public TestCase
72{
73 public:
76
77 private:
78 void DoRun() override;
79 std::string m_transportProtocol;
80};
81
88class TrafficGeneratorNgmnVideoTestCase : public TestCase
89{
90 public:
93
94 private:
95 void DoRun() override;
96};
97
107{
108 public:
111
112 private:
113 void DoRun() override;
114};
115
123class TrafficGeneratorNgmnVoipTestCase : public TestCase
124{
125 public:
126 TrafficGeneratorNgmnVoipTestCase(std::string transportProtocol);
128
129 private:
130 void DoRun() override;
131 std::string m_transportProtocol;
132};
133
141{
142 public:
145
146 private:
147 void DoRun() override;
148};
149
156class TrafficGeneratorTestSuite : public TestSuite
157{
158 public:
160};
161
162} // namespace ns3
163#endif // TRAFFIC_GENERATOR_TEST_H
Traffic generators test suite.