Code 02
Code 02
h"
#include "ns3/network-module.h"
#include "ns3/internet-module.h"
#include "ns3/mobility-module.h"
#include "ns3/applications-module.h"
#include "ns3/point-to-point-module.h"
#include "ns3/lte-module.h"
NS_LOG_COMPONENT_DEFINE("WifiOffloadSimulator");
struct User {
double dataDemand; // User's data demand in PRBs
Ptr<Node> node; // User's node in ns-3
};
// Create nodes
NodeContainer enbNode;
enbNode.Create(1);
NodeContainer ueNodes;
ueNodes.Create(NUM_USERS);
// Install LTE
NetDeviceContainer enbLteDevice, ueLteDevice;
enbLteDevice = lte.Install(enbNode);
ueLteDevice = lte.Install(ueNodes);
// Internet stack
InternetStackHelper stack;
stack.Install(enbNode);
stack.Install(ueNodes);
// Internet simulation
InternetHelper internet;
NodeContainer internetNode;
internetNode.Create(1);
NetDeviceContainer internetDevices = p2p.Install(internetNode.Get(0),
enbNode.Get(0));
internet.Install(internetNode);
// Simulation loop
std::vector<User> users(NUM_USERS);
for (size_t i = 0; i < NUM_USERS; ++i) {
users[i].node = ueNodes.Get(i);
}
Simulator::Stop(Seconds(currentTime + 1.0));
Simulator::Run();
Simulator::Destroy();
}
return 0;
}