diff options
author | Sree Harsha Totakura <totakura@in.tum.de> | 2013-01-02 16:03:25 +0000 |
---|---|---|
committer | Sree Harsha Totakura <totakura@in.tum.de> | 2013-01-02 16:03:25 +0000 |
commit | 3def510831309a5a0a5f50a2250911d6b592a87e (patch) | |
tree | 7664327942b8cceb6b5156e7b77ed7e3bb7587b7 /src/testbed | |
parent | 6e039e765c89bf477a8c657f59297d12d3858ce5 (diff) | |
download | gnunet-3def510831309a5a0a5f50a2250911d6b592a87e.tar.gz gnunet-3def510831309a5a0a5f50a2250911d6b592a87e.zip |
weigh all readings equally
Diffstat (limited to 'src/testbed')
-rw-r--r-- | src/testbed/testbed_api.c | 14 | ||||
-rw-r--r-- | src/testbed/testbed_api.h | 6 |
2 files changed, 14 insertions, 6 deletions
diff --git a/src/testbed/testbed_api.c b/src/testbed/testbed_api.c index 307960818..6894528a7 100644 --- a/src/testbed/testbed_api.c +++ b/src/testbed/testbed_api.c | |||
@@ -2506,13 +2506,19 @@ decide_npoc (struct GNUNET_TESTBED_Controller *c) | |||
2506 | struct GNUNET_TIME_Relative avg; | 2506 | struct GNUNET_TIME_Relative avg; |
2507 | int sd; | 2507 | int sd; |
2508 | unsigned int slot; | 2508 | unsigned int slot; |
2509 | unsigned int nvals; | ||
2509 | 2510 | ||
2510 | if (c->tslots_filled != c->num_parallel_connects) | 2511 | if (c->tslots_filled != c->num_parallel_connects) |
2511 | return; | 2512 | return; |
2512 | avg = GNUNET_TIME_UNIT_ZERO; | 2513 | avg = GNUNET_TIME_UNIT_ZERO; |
2514 | nvals = 0; | ||
2513 | for (slot = 0; slot < c->num_parallel_connects; slot++) | 2515 | for (slot = 0; slot < c->num_parallel_connects; slot++) |
2516 | { | ||
2514 | avg = GNUNET_TIME_relative_add (avg, c->tslots[slot].time); | 2517 | avg = GNUNET_TIME_relative_add (avg, c->tslots[slot].time); |
2515 | avg = GNUNET_TIME_relative_divide (avg, c->num_parallel_connects); | 2518 | nvals += c->tslots[slot].nvals; |
2519 | } | ||
2520 | GNUNET_assert (nvals >= c->num_parallel_connects); | ||
2521 | avg = GNUNET_TIME_relative_divide (avg, nvals); | ||
2516 | GNUNET_assert (GNUNET_TIME_UNIT_FOREVER_REL.rel_value != avg.rel_value); | 2522 | GNUNET_assert (GNUNET_TIME_UNIT_FOREVER_REL.rel_value != avg.rel_value); |
2517 | sd = SD_deviation_factor (c->poc_sd, (unsigned int) avg.rel_value); | 2523 | sd = SD_deviation_factor (c->poc_sd, (unsigned int) avg.rel_value); |
2518 | if (GNUNET_SYSERR == sd) | 2524 | if (GNUNET_SYSERR == sd) |
@@ -2595,12 +2601,12 @@ GNUNET_TESTBED_update_time_slot_ (struct GNUNET_TESTBED_Controller *c, | |||
2595 | void *key, | 2601 | void *key, |
2596 | struct GNUNET_TIME_Relative time) | 2602 | struct GNUNET_TIME_Relative time) |
2597 | { | 2603 | { |
2598 | struct GNUNET_TIME_Relative avg; | ||
2599 | struct TimeSlot *slot; | 2604 | struct TimeSlot *slot; |
2600 | 2605 | ||
2601 | if (GNUNET_NO == GNUNET_TESTBED_release_time_slot_ (c, index, key)) | 2606 | if (GNUNET_NO == GNUNET_TESTBED_release_time_slot_ (c, index, key)) |
2602 | return; | 2607 | return; |
2603 | slot = &c->tslots[index]; | 2608 | slot = &c->tslots[index]; |
2609 | slot->nvals++; | ||
2604 | if (GNUNET_TIME_UNIT_ZERO.rel_value == slot->time.rel_value) | 2610 | if (GNUNET_TIME_UNIT_ZERO.rel_value == slot->time.rel_value) |
2605 | { | 2611 | { |
2606 | slot->time = time; | 2612 | slot->time = time; |
@@ -2608,9 +2614,7 @@ GNUNET_TESTBED_update_time_slot_ (struct GNUNET_TESTBED_Controller *c, | |||
2608 | decide_npoc (c); | 2614 | decide_npoc (c); |
2609 | return; | 2615 | return; |
2610 | } | 2616 | } |
2611 | avg = GNUNET_TIME_relative_add (slot->time, time); | 2617 | slot->time = GNUNET_TIME_relative_add (slot->time, time); |
2612 | avg = GNUNET_TIME_relative_divide (avg, 2); | ||
2613 | slot->time = avg; | ||
2614 | } | 2618 | } |
2615 | 2619 | ||
2616 | 2620 | ||
diff --git a/src/testbed/testbed_api.h b/src/testbed/testbed_api.h index ed5b38b1d..b82c374ad 100644 --- a/src/testbed/testbed_api.h +++ b/src/testbed/testbed_api.h | |||
@@ -198,7 +198,11 @@ struct TimeSlot | |||
198 | * Time | 198 | * Time |
199 | */ | 199 | */ |
200 | struct GNUNET_TIME_Relative time; | 200 | struct GNUNET_TIME_Relative time; |
201 | 201 | ||
202 | /** | ||
203 | * Number of timing values accumulated | ||
204 | */ | ||
205 | unsigned int nvals; | ||
202 | }; | 206 | }; |
203 | 207 | ||
204 | 208 | ||