examples/names.cc
changeset 4140 6bbf05bf4826
parent 4139 d45e62c78504
child 4141 3f7f08d9daad
--- a/examples/names.cc	Tue Jan 20 15:47:14 2009 -0800
+++ b/examples/names.cc	Tue Jan 20 17:39:18 2009 -0800
@@ -22,7 +22,6 @@
 //              LAN
 //
 
-#include <fstream>
 #include "ns3/core-module.h"
 #include "ns3/simulator-module.h"
 #include "ns3/helper-module.h"
@@ -40,25 +39,13 @@
 int 
 main (int argc, char *argv[])
 {
-  //
-  // Users may find it convenient to turn on explicit debugging
-  // for selected modules; the below lines suggest how to do this
-  //
 #if 1
   LogComponentEnable ("NamesExample", LOG_LEVEL_INFO);
 #endif
 
-  //
-  // Allow the user to override any of the defaults and the above Bind() at
-  // run-time, via command-line arguments
-  //
   CommandLine cmd;
   cmd.Parse (argc, argv);
 
-  //
-  // Explicitly create the nodes required by the topology (shown above).
-  //
-  NS_LOG_INFO ("Create nodes.");
   NodeContainer n;
   n.Create (4);
 
@@ -75,7 +62,6 @@
   InternetStackHelper internet;
   internet.Install (n);
 
-  NS_LOG_INFO ("Create devices.");
   CsmaHelper csma;
   csma.SetChannelAttribute ("DataRate", DataRateValue (DataRate(5000000)));
   csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
@@ -94,31 +80,19 @@
   Names::Add ("/Names/server", "eth0", d.Get (1));
 
   Ipv4AddressHelper ipv4;
-
-  //
-  // We've got the "hardware" in place.  Now we need to add IP addresses.
-  //
-  NS_LOG_INFO ("Assign IP Addresses.");
   ipv4.SetBase ("10.1.1.0", "255.255.255.0");
   Ipv4InterfaceContainer i = ipv4.Assign (d);
 
-  NS_LOG_INFO ("Create Applications.");
-
+  uint16_t port = 9;
+  UdpEchoServerHelper server (port);
   //
-  // Create a UdpEchoServer application on the server node.  Note that we 
-  // reference the server node by name in the Install method below.
+  // Install the UdpEchoServer application on the server node using its name
+  // directly.
   //
-  uint16_t port = 9;  // well-known echo port number
-  UdpEchoServerHelper server (port);
-  ApplicationContainer apps = server.Install (Names::Find<Node> ("/Names/server"));
+  ApplicationContainer apps = server.Install ("/Names/server");
   apps.Start (Seconds (1.0));
   apps.Stop (Seconds (10.0));
 
-  //
-  // Create a UdpEchoClient application to send UDP datagrams from node zero to
-  // node one.  Notice that we reference the client node by name in the Install
-  // method below.
-  //
   uint32_t packetSize = 1024;
   uint32_t maxPacketCount = 1;
   Time interPacketInterval = Seconds (1.);
@@ -126,17 +100,20 @@
   client.SetAttribute ("MaxPackets", UintegerValue (maxPacketCount));
   client.SetAttribute ("Interval", TimeValue (interPacketInterval));
   client.SetAttribute ("PacketSize", UintegerValue (packetSize));
-  apps = client.Install (Names::Find<Node> ("/Names/client"));
+  //
+  // Install the UdpEchoClient application on the server node using its name
+  // directly.
+  //
+  apps = client.Install ("/Names/client");
   apps.Start (Seconds (2.0));
   apps.Stop (Seconds (10.0));
 
+  //
+  // Use the config system to connect a trace source using the object name
+  // system to specify the path.
+  //
   Config::Connect ("/Names/client/eth0/Rx", MakeCallback (&RxEvent));
 
-  //
-  // Now, do the actual simulation.
-  //
-  NS_LOG_INFO ("Run Simulation.");
   Simulator::Run ();
   Simulator::Destroy ();
-  NS_LOG_INFO ("Done.");
 }