gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r25674 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r25674 - gnunet/src/testbed
Date: Wed, 2 Jan 2013 17:03:25 +0100

Author: harsha
Date: 2013-01-02 17:03:25 +0100 (Wed, 02 Jan 2013)
New Revision: 25674

Modified:
   gnunet/src/testbed/testbed_api.c
   gnunet/src/testbed/testbed_api.h
Log:
weigh all readings equally

Modified: gnunet/src/testbed/testbed_api.c
===================================================================
--- gnunet/src/testbed/testbed_api.c    2013-01-02 15:36:44 UTC (rev 25673)
+++ gnunet/src/testbed/testbed_api.c    2013-01-02 16:03:25 UTC (rev 25674)
@@ -2506,13 +2506,19 @@
   struct GNUNET_TIME_Relative avg;
   int sd;
   unsigned int slot;
+  unsigned int nvals;
 
   if (c->tslots_filled != c->num_parallel_connects)
     return;
   avg = GNUNET_TIME_UNIT_ZERO;
+  nvals = 0;
   for (slot = 0; slot < c->num_parallel_connects; slot++)
+  {
     avg = GNUNET_TIME_relative_add (avg, c->tslots[slot].time);
-  avg = GNUNET_TIME_relative_divide (avg, c->num_parallel_connects);
+    nvals += c->tslots[slot].nvals;
+  }
+  GNUNET_assert (nvals >= c->num_parallel_connects);
+  avg = GNUNET_TIME_relative_divide (avg, nvals);
   GNUNET_assert (GNUNET_TIME_UNIT_FOREVER_REL.rel_value != avg.rel_value);
   sd = SD_deviation_factor (c->poc_sd, (unsigned int) avg.rel_value);
   if (GNUNET_SYSERR == sd)
@@ -2595,12 +2601,12 @@
                                   void *key,
                                   struct GNUNET_TIME_Relative time)
 {
-  struct GNUNET_TIME_Relative avg;
   struct TimeSlot *slot;
 
   if (GNUNET_NO == GNUNET_TESTBED_release_time_slot_ (c, index, key))
     return;
   slot = &c->tslots[index];
+  slot->nvals++;
   if (GNUNET_TIME_UNIT_ZERO.rel_value == slot->time.rel_value)
   {
     slot->time = time;
@@ -2608,9 +2614,7 @@
     decide_npoc (c);
     return;
   }
-  avg = GNUNET_TIME_relative_add (slot->time, time);
-  avg = GNUNET_TIME_relative_divide (avg, 2);
-  slot->time = avg;
+  slot->time = GNUNET_TIME_relative_add (slot->time, time);
 }
 
 

Modified: gnunet/src/testbed/testbed_api.h
===================================================================
--- gnunet/src/testbed/testbed_api.h    2013-01-02 15:36:44 UTC (rev 25673)
+++ gnunet/src/testbed/testbed_api.h    2013-01-02 16:03:25 UTC (rev 25674)
@@ -198,7 +198,11 @@
    * Time
    */
   struct GNUNET_TIME_Relative time;
-  
+
+  /**
+   * Number of timing values accumulated
+   */
+  unsigned int nvals;
 };
 
 




reply via email to

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