27#include "ns3/applications-module.h"
28#include "ns3/click-internet-stack-helper.h"
29#include "ns3/core-module.h"
30#include "ns3/csma-module.h"
31#include "ns3/internet-module.h"
33#include "ns3/network-module.h"
44main(
int argc,
char* argv[])
47 std::string clickConfigFolder =
"src/click/examples";
50 cmd.AddValue(
"clickConfigFolder",
51 "Base folder for click configuration files",
53 cmd.Parse(argc, argv);
69 ClickInternetStackHelper clickinternet;
70 clickinternet.SetClickFile(
csmaNodes.Get(0),
71 clickConfigFolder +
"/nsclick-lan-single-interface.click");
72 clickinternet.SetRoutingTableElement(
csmaNodes.Get(0),
"rt");
77 ipv4.
SetBase(
"172.16.1.0",
"255.255.255.0");
88 onOffHelper.SetAttribute(
"OnTime",
StringValue(
"ns3::ConstantRandomVariable[Constant=1]"));
89 onOffHelper.SetAttribute(
"OffTime",
StringValue(
"ns3::ConstantRandomVariable[Constant=0]"));
94 onOffHelper.SetAttribute(
"Remote", remoteAddress);
103 Simulator::Stop(
Seconds(20.0));
106 Simulator::Destroy();
108 NS_FATAL_ERROR(
"Can't use ns-3-click without NSCLICK compiled in");
a polymophic address class
AttributeValue implementation for Address.
holds a vector of ns3::Application pointers.
void Start(Time start) const
Start all of the Applications in this container at the start time given as a parameter.
void Stop(Time stop) const
Arrange for all of the Applications in this container to Stop() at the Time given as a parameter.
void Add(ApplicationContainer other)
Append the contents of another ApplicationContainer to the end of this container.
Parse command-line arguments.
build a set of CsmaNetDevice objects
AttributeValue implementation for DataRate.
aggregate IP/TCP/UDP functionality to existing Nodes.
void Install(std::string nodeName) const
Aggregate implementations of the ns3::Ipv4, ns3::Ipv6, ns3::Udp, and ns3::Tcp classes onto the provid...
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
void SetBase(Ipv4Address network, Ipv4Mask mask, Ipv4Address base="0.0.0.1")
Set the base network number, network mask and base address.
Ipv4InterfaceContainer Assign(const NetDeviceContainer &c)
Assign IP addresses to the net devices specified in the container based on the current network prefix...
Ipv4 addresses are stored in host order in this class.
holds a vector of ns3::NetDevice pointers
keep track of a set of node pointers.
A helper to make it easier to instantiate an ns3::OnOffApplication on a set of nodes.
A helper to make it easier to instantiate an ns3::PacketSinkApplication on a set of nodes.
Hold variables of type string.
AttributeValue implementation for Time.
#define NS_FATAL_ERROR(msg)
Report a fatal error with a message and terminate.
#define NS_LOG_UNCOND(msg)
Output the requested message unconditionally.
void(* DataRate)(DataRate oldValue, DataRate newValue)
TracedValue callback signature for DataRate.
Time Seconds(double value)
Construct a Time in the indicated unit.
Time MilliSeconds(uint64_t value)
Construct a Time in the indicated unit.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void ReceivePacket(Ptr< Socket > socket)