gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r32135 - gnunet/src/ats-tests


From: gnunet
Subject: [GNUnet-SVN] r32135 - gnunet/src/ats-tests
Date: Fri, 31 Jan 2014 14:06:12 +0100

Author: wachs
Date: 2014-01-31 14:06:12 +0100 (Fri, 31 Jan 2014)
New Revision: 32135

Modified:
   gnunet/src/ats-tests/ats-testing-traffic.c
   gnunet/src/ats-tests/ats-testing.h
   gnunet/src/ats-tests/gnunet-ats-sim.c
Log:
constant traffic generator


Modified: gnunet/src/ats-tests/ats-testing-traffic.c
===================================================================
--- gnunet/src/ats-tests/ats-testing-traffic.c  2014-01-31 12:33:43 UTC (rev 
32134)
+++ gnunet/src/ats-tests/ats-testing-traffic.c  2014-01-31 13:06:12 UTC (rev 
32135)
@@ -32,6 +32,28 @@
 
 extern struct GNUNET_ATS_TEST_Topology *top;
 
+static struct GNUNET_TIME_Relative
+get_delay (struct TrafficGenerator *tg)
+{
+  struct GNUNET_TIME_Relative delay;
+  delay.rel_value_us = 0;
+
+  switch (tg->type) {
+    case GNUNET_ATS_TEST_TG_CONSTANT:
+      if (UINT32_MAX == tg->rate)
+        delay.rel_value_us = 0;
+      else if (tg->rate <= TEST_MESSAGE_SIZE)
+        delay.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us);
+      else
+        delay.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us / 
(tg->rate / TEST_MESSAGE_SIZE));
+      break;
+    default:
+      return delay;
+      break;
+  }
+  return delay;
+}
+
 static size_t
 send_ping_ready_cb (void *cls, size_t size, void *buf)
 {
@@ -86,7 +108,8 @@
     GNUNET_break (0);
     return TEST_MESSAGE_SIZE;
   }
-  p->tg->next_ping_transmission = 
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(), p->tg->delta);
+  p->tg->next_ping_transmission = 
GNUNET_TIME_absolute_add(GNUNET_TIME_absolute_get(),
+      get_delay (p->tg));
 
   return TEST_MESSAGE_SIZE;
 }
@@ -209,15 +232,16 @@
   }
 }
 
+
 /**
  * Generate between the source master and the partner and send traffic with a
  * maximum rate.
  *
  */
-
 struct TrafficGenerator *
 GNUNET_ATS_TEST_generate_traffic_start (struct BenchmarkPeer *src,
     struct BenchmarkPartner *dest,
+    enum TrafficGeneratorType type,
     unsigned int rate,
     struct GNUNET_TIME_Relative duration)
 {
@@ -232,15 +256,10 @@
 
   tg = GNUNET_new (struct TrafficGenerator);
   GNUNET_CONTAINER_DLL_insert (tg_head, tg_tail, tg);
+  tg->type = type;
   tg->src = src;
   tg->dest = dest;
   tg->rate = rate;
-  if (UINT32_MAX == rate)
-    tg->delta.rel_value_us = 0;
-  else if (rate <= TEST_MESSAGE_SIZE)
-    tg->delta.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us);
-  else
-    tg->delta.rel_value_us = (GNUNET_TIME_UNIT_SECONDS.rel_value_us / (rate / 
TEST_MESSAGE_SIZE));
   tg->next_ping_transmission = GNUNET_TIME_UNIT_FOREVER_ABS;
 
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,

Modified: gnunet/src/ats-tests/ats-testing.h
===================================================================
--- gnunet/src/ats-tests/ats-testing.h  2014-01-31 12:33:43 UTC (rev 32134)
+++ gnunet/src/ats-tests/ats-testing.h  2014-01-31 13:06:12 UTC (rev 32135)
@@ -56,7 +56,15 @@
 
 struct LoggingHandle;
 
+enum TrafficGeneratorType
+{
+  GNUNET_ATS_TEST_LINEAR,
+  GNUNET_ATS_TEST_TG_CONSTANT,
+  GNUNET_ATS_TEST_RANDOM,
+  GNUNET_ATS_TEST_SINUS
+};
 
+
 /**
  * Callback to call when topology setup is completed
  *
@@ -215,6 +223,8 @@
   struct TrafficGenerator *prev;
   struct TrafficGenerator *next;
 
+  enum TrafficGeneratorType type;
+
   struct BenchmarkPeer *src;
   struct BenchmarkPartner *dest;
   unsigned int rate;
@@ -529,6 +539,7 @@
 struct TrafficGenerator *
 GNUNET_ATS_TEST_generate_traffic_start (struct BenchmarkPeer *src,
     struct BenchmarkPartner *dest,
+    enum TrafficGeneratorType type,
     unsigned int rate,
     struct GNUNET_TIME_Relative duration);
 

Modified: gnunet/src/ats-tests/gnunet-ats-sim.c
===================================================================
--- gnunet/src/ats-tests/gnunet-ats-sim.c       2014-01-31 12:33:43 UTC (rev 
32134)
+++ gnunet/src/ats-tests/gnunet-ats-sim.c       2014-01-31 13:06:12 UTC (rev 
32135)
@@ -210,6 +210,7 @@
         /* Generate maximum traffic to all peers */
         GNUNET_ATS_TEST_generate_traffic_start (&masters[c_m],
             &masters[c_m].partners[c_s],
+            GNUNET_ATS_TEST_TG_CONSTANT,
             10000,
             GNUNET_TIME_UNIT_FOREVER_REL);
       }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]