Compare commits
4 Commits
ns-3.3-RC5
..
ns-3.3
| Author | SHA1 | Date | |
|---|---|---|---|
| 5f495d0805 | |||
| e79dc16688 | |||
| b75c526925 | |||
| 2cc80c1a06 |
@@ -28,3 +28,5 @@ a84f2ab246e691a88b527a84ce21896b95080070 ns-3.3-RC1
|
||||
654eed5f3ad03c04c2bcfb6852b5b4ae94260bc6 ns-3.3-RC2
|
||||
a66553c56a8f14644af6c229c83bb0a653cb3f32 ns-3.3-RC3
|
||||
dfd0bc16dc991313896f351530a3dc5a25f62e15 ns-3.3-RC4
|
||||
58ae52c5845ff03ba08dc921e13e6cf3604c810a ns-3.3-RC5
|
||||
4267fd454004f5a60e517496f43a01000ccebc72 ns-3.3-RC6
|
||||
|
||||
@@ -105,6 +105,13 @@ familiar to you so far.
|
||||
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
|
||||
@end verbatim
|
||||
|
||||
A fixed seed is provided to the random number generators so that they will
|
||||
generate repeatable results.
|
||||
|
||||
@verbatim
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
@end verbatim
|
||||
|
||||
Next, you will see some familiar code that will allow you to change the number
|
||||
of devices on the CSMA network via command line argument. We did something
|
||||
similar when we allowed the number of packets sent to be changed in the section
|
||||
@@ -657,6 +664,13 @@ the simulation.
|
||||
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
|
||||
@end verbatim
|
||||
|
||||
A fixed seed is provided to the random number generators so that they will
|
||||
generate repeatable results.
|
||||
|
||||
@verbatim
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
@end verbatim
|
||||
|
||||
Next, you will see more familiar code that will allow you to change the number
|
||||
of devices on the CSMA and Wifi networks via command line argument.
|
||||
|
||||
|
||||
@@ -362,6 +362,21 @@ enable on each component. These two lines of code enable debug logging at the
|
||||
INFO level for echo clients and servers. This will result in the application
|
||||
printing out messages as packets are sent and received during the simulation.
|
||||
|
||||
The next line of code is used to give a fixed seed to the random number
|
||||
generators so that they will generate repeatable results. In the example
|
||||
programs, it allows us to thouroughly document the output of the trace files
|
||||
in a consistent way. Having a fixed seed also allows us to use the examples
|
||||
in our regression testing framework.
|
||||
|
||||
@verbatim
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
@end verbatim
|
||||
|
||||
Random variables are very important in understanding how to get repeatable
|
||||
results, so you are encouraged to read the Doxygen and manual sections to
|
||||
understand what is going on there. For us, the main concern is in making
|
||||
random backoff algorithms consistent across runs.
|
||||
|
||||
Now we will get directly to the business of creating a topology and running
|
||||
a simulation. We use the topology helper objects to make this job as
|
||||
easy as possible.
|
||||
|
||||
@@ -29,6 +29,8 @@ main (int argc, char *argv[])
|
||||
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
|
||||
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
|
||||
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
|
||||
NodeContainer nodes;
|
||||
nodes.Create (2);
|
||||
|
||||
|
||||
@@ -39,6 +39,8 @@ main (int argc, char *argv[])
|
||||
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
|
||||
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
|
||||
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
|
||||
uint32_t nCsma = 3;
|
||||
CommandLine cmd;
|
||||
cmd.AddValue ("nCsma", "Number of \"extra\" CSMA nodes/devices", nCsma);
|
||||
|
||||
@@ -43,6 +43,8 @@ main (int argc, char *argv[])
|
||||
LogComponentEnable("UdpEchoClientApplication", LOG_LEVEL_INFO);
|
||||
LogComponentEnable("UdpEchoServerApplication", LOG_LEVEL_INFO);
|
||||
|
||||
RandomVariable::UseGlobalSeed (1, 1, 2, 3, 5, 8);
|
||||
|
||||
uint32_t nCsma = 3;
|
||||
uint32_t nWifi = 3;
|
||||
CommandLine cmd;
|
||||
|
||||
@@ -492,9 +492,11 @@ def shutdown():
|
||||
if not regression_traces:
|
||||
regression_traces = None
|
||||
try:
|
||||
regression.run_regression(regression_traces)
|
||||
retval = regression.run_regression(regression_traces)
|
||||
finally:
|
||||
os.chdir(_dir)
|
||||
if retval:
|
||||
sys.exit(retval)
|
||||
|
||||
if Params.g_options.lcov_report:
|
||||
lcov_report()
|
||||
|
||||
Reference in New Issue
Block a user