From 87a1ae56d7b8e3f5ef69e05ee1ac8965c707bb2a Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Tue, 20 Nov 2007 13:10:30 +0100 Subject: [PATCH] plot the goodput for each data rate separately --- samples/main-adhoc-wifi.cc | 91 +++++++++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 10 deletions(-) diff --git a/samples/main-adhoc-wifi.cc b/samples/main-adhoc-wifi.cc index b97822213..77993dc52 100644 --- a/samples/main-adhoc-wifi.cc +++ b/samples/main-adhoc-wifi.cc @@ -116,6 +116,8 @@ SetupUdpReceive (Ptr node, uint16_t port) static void RunOneExperiment (void) { + g_bytesTotal = 0; + Ptr channel = Create (); Ptr a = CreateAdhocNode (channel, @@ -151,11 +153,88 @@ int main (int argc, char *argv[]) // disable fragmentation DefaultValue::Bind ("WifiFragmentationThreshold", "2200"); - DefaultValue::Bind ("WifiPhyStandard", "holland"); CommandLine::Parse (argc, argv); Gnuplot gnuplot = Gnuplot ("rate-control.png"); + DefaultValue::Bind ("WifiRtsCtsThreshold", "2200"); + + g_output = new GnuplotDataset ("54mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "54mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("48mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "48mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("36mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "36mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("24mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "24mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("18mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "18mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("12mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "12mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("9mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "9mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + g_output = new GnuplotDataset ("6mb"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRateControlAlgorithm", "ConstantRate"); + DefaultValue::Bind ("WifiConstantDataRate", "6mb"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + + + DefaultValue::Bind ("WifiPhyStandard", "holland"); + +#if 0 + g_output = new GnuplotDataset ("arf"); + g_output->SetStyle (GnuplotDataset::LINES); + DefaultValue::Bind ("WifiRtsCtsThreshold", "2200"); + DefaultValue::Bind ("WifiRateControlAlgorithm", "Arf"); + RunOneExperiment (); + gnuplot.AddDataset (*g_output); + delete g_output; + g_output = new GnuplotDataset ("aarf"); g_output->SetStyle (GnuplotDataset::LINES); DefaultValue::Bind ("WifiRtsCtsThreshold", "2200"); @@ -164,14 +243,6 @@ int main (int argc, char *argv[]) gnuplot.AddDataset (*g_output); delete g_output; - g_output = new GnuplotDataset ("arf"); - g_output->SetStyle (GnuplotDataset::LINES); - DefaultValue::Bind ("WifiRtsCtsThreshold", "2200"); - DefaultValue::Bind ("WifiRateControlAlgorithm", "Arf"); - RunOneExperiment (); - gnuplot.AddDataset (*g_output); - delete g_output; - g_output = new GnuplotDataset ("ideal"); g_output->SetStyle (GnuplotDataset::LINES); DefaultValue::Bind ("WifiRtsCtsThreshold", "2200"); @@ -179,7 +250,7 @@ int main (int argc, char *argv[]) RunOneExperiment (); gnuplot.AddDataset (*g_output); delete g_output; - +#endif gnuplot.GenerateOutput (std::cout); return 0;