--- 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.");
}