|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
21 #include "ns3/core-module.h"
22 #include "ns3/network-module.h"
23 #include "ns3/internet-module.h"
24 #include "ns3/point-to-point-module.h"
25 #include "ns3/netanim-module.h"
26 #include "ns3/applications-module.h"
27 #include "ns3/point-to-point-layout-module.h"
54 std::ostringstream oss;
69 std::ostringstream node0Oss;
72 static double size = 2;
86 static uint32_t index = 0;
91 for (uint32_t nodeId = 4; nodeId < 12; ++nodeId)
109 int main (
int argc,
char *argv[])
114 uint32_t nLeftLeaf = 5;
115 uint32_t nRightLeaf = 5;
117 std::string animFile =
"resources_demo.xml" ;
120 cmd.AddValue (
"nLeftLeaf",
"Number of left side leaf nodes", nLeftLeaf);
121 cmd.AddValue (
"nRightLeaf",
"Number of right side leaf nodes", nRightLeaf);
122 cmd.AddValue (
"nLeaf",
"Number of left and right side leaf nodes", nLeaf);
123 cmd.AddValue (
"animFile",
"File Name for Animation Output", animFile);
125 cmd.Parse (argc,argv);
141 nRightLeaf, pointToPointLeaf,
146 d.InstallStack (
stack);
153 d.BoundingBox (1, 1, 100, 100);
156 clientHelper.SetAttribute
157 (
"OnTime",
StringValue (
"ns3::UniformRandomVariable[Min=0.|Max=1.]"));
158 clientHelper.SetAttribute
159 (
"OffTime",
StringValue (
"ns3::UniformRandomVariable[Min=0.|Max=1.]"));
162 for (uint32_t i = 0; i < d.RightCount (); ++i)
166 clientHelper.SetAttribute (
"Remote", remoteAddress);
167 clientApps.Add (clientHelper.Install (d.GetRight (i)));
195 std::cout <<
"Animation Trace file created:" << animFile.c_str ()<< std::endl;
Parse command-line arguments.
void UpdateNodeColor(Ptr< Node > n, uint8_t r, uint8_t g, uint8_t b)
Helper function to update the node color.
void UpdateNodeCounter(uint32_t nodeCounterId, uint32_t nodeId, double counter)
Helper function to update a node's counter referenced by the nodeCounterId.
static Time Now(void)
Return the current simulation virtual time.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
A helper class to make life easier while doing simple IPv4 address assignment in scripts.
void SetDeviceAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each NetDevice created by the helper.
void SetChannelAttribute(std::string name, const AttributeValue &value)
Set an attribute value to be propagated to each Channel created by the helper.
AttributeValue implementation for Address.
void SetBackgroundImage(std::string fileName, double x, double y, double scaleX, double scaleY, double opacity)
Helper function to set the background image.
Interface to network animator.
static EventId Schedule(Time const &delay, FUNC f, Ts &&... args)
Schedule an event to expire after delay.
void UpdateLinkDescription(uint32_t fromNode, uint32_t toNode, std::string linkDescription)
Helper function to update the description for a link.
static void PopulateRoutingTables(void)
Build a routing database and initialize the routing tables of the nodes in the simulation.
a polymophic address class
uint32_t nodeCounterIdDouble2
A helper to make it easier to instantiate an ns3::OnOffApplication on a set of nodes.
uint32_t AddResource(std::string resourcePath)
Add a resource such as the path to an image file.
uint32_t nodeCounterIdUint32
void UpdateNodeSize(uint32_t nodeId, double width, double height)
Helper function to update the size of a node.
A helper to make it easier to create a dumbbell topology with p2p links.
static void Run(void)
Run the simulation.
Hold variables of type string.
AnimationInterface * pAnim
Time Seconds(double value)
Construct a Time in the indicated unit.
uint32_t nodeCounterIdDouble1
static void Destroy(void)
Execute the events scheduled with ScheduleDestroy().
holds a vector of ns3::Application pointers.
Build a set of PointToPointNetDevice objects.
Hold an unsigned integer type.
void SetDefault(std::string name, const AttributeValue &value)
void UpdateNodeImage(uint32_t nodeId, uint32_t resourceId)
Helper function to update the image of a node.
void UpdateNodeDescription(Ptr< Node > n, std::string descr)
Helper function to update the description for a given node.
aggregate IP/TCP/UDP functionality to existing Nodes.
uint32_t AddNodeCounter(std::string counterName, CounterType counterType)
Setup a node counter.
double GetSeconds(void) const
Get an approximation of the time stored in this instance in the indicated unit.