22 #include "ns3/applications-module.h"
23 #include "ns3/core-module.h"
24 #include "ns3/internet-module.h"
25 #include "ns3/network-module.h"
26 #include "ns3/satellite-module.h"
27 #include "ns3/traffic-module.h"
38 NS_LOG_COMPONENT_DEFINE(
"sat-rtn-link-da-example");
41 main(
int argc,
char* argv[])
43 uint32_t endUsersPerUt(3);
44 uint32_t utsPerBeam(3);
45 Time simLength(Seconds(50.0));
47 std::string simulationName =
"sat-rtn-link-da-example";
48 auto simulationHelper = CreateObject<SimulationHelper>(simulationName);
52 cmd.AddValue(
"endUsersPerUt",
"Number of end users per UT", endUsersPerUt);
53 cmd.AddValue(
"utsPerBeam",
"Number of UTs per spot-beam", utsPerBeam);
54 simulationHelper->AddDefaultUiArguments(cmd);
55 cmd.Parse(argc, argv);
57 simulationHelper->SetDefaultValues();
58 simulationHelper->SetUtCountPerBeam(utsPerBeam);
59 simulationHelper->SetUserCountPerUt(endUsersPerUt);
60 simulationHelper->SetSimulationTime(simLength.GetSeconds());
61 simulationHelper->EnableOnlyRbdc(3);
63 simulationHelper->SetBeams(
"1 3 5 7 9 22 24 26 28 30 44 46 48 50 59 61 70 72");
67 std::stringstream sstag;
68 sstag << simulationName <<
"UTs=" << utsPerBeam;
69 simulationHelper->SetOutputTag(sstag.str());
72 simulationHelper->CreateSatScenario();
75 Config::SetDefault(
"ns3::CbrApplication::Interval", TimeValue(MilliSeconds(5)));
76 Config::SetDefault(
"ns3::CbrApplication::PacketSize", UintegerValue(128));
85 simulationHelper->CreateDefaultRtnLinkStats();
88 simulationHelper->EnableProgressLogs();
91 simulationHelper->RunSimulation();
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.