#ifndef MODULES_HPP #define MODULES_HPP #include "ns3/command-line.h" #include "ns3/config.h" #include "ns3/string.h" #include "ns3/log.h" #include "ns3/yans-wifi-helper.h" #include "ns3/ssid.h" #include "ns3/mobility-helper.h" #include "ns3/on-off-helper.h" #include "ns3/yans-wifi-channel.h" #include "ns3/mobility-model.h" #include "ns3/packet-sink.h" #include "ns3/packet-sink-helper.h" #include "ns3/udp-echo-helper.h" #include "ns3/tcp-westwood.h" #include "ns3/internet-stack-helper.h" #include "ns3/ipv4-address-helper.h" #include "ns3/ipv4-global-routing-helper.h" #include "ns3/constant-position-mobility-model.h" #include "ns3/energy-module.h" #include "ns3/wifi-radio-energy-model-helper.h" #include "ns3/point-to-point-helper.h" // C++ library #include #include // To use std::pair #include using namespace ns3; // Data types typedef std::pair CellNodes; // Format (APNode, SensorsNodes) typedef std::pair CellNetDevices; // Format (APNetDev, SensorsNetDev) typedef std::pair Cell; typedef std::pair EndPoint; // Format (IP,Port) typedef std::pair CloudInfos; // Format (CloudHops,CloudEndPoint), here data sent to CloudEndPoint // via CloudHops.Get(0) will flow throw all hops until the reaching the cloud // Platform functions Cell createCell(uint32_t nbSensors, Ptr ap); CloudInfos buildEdgeAndCloud(int nbOp); void applyScenarios(Cell cell,int sensorsPktSize, int sensorsSendInterval, CloudInfos cloudInfos); // Energy functions void setupEnergy(Cell cell); // Callbacks void PktReceived(std::string nodeName,Ptr< const Packet > packet, const Address &address); void EnergyUpdated(std::string nodeName,double oldValue, double newValue); #endif