From 5afa110251ecd1230d1386e114b65508d5916027 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Tue, 22 May 2012 11:27:03 +0000 Subject: [PATCH] - changes --- src/ats/test_ats_api_reset_backoff.c | 34 +++++++++++----------------- 1 file changed, 13 insertions(+), 21 deletions(-) diff --git a/src/ats/test_ats_api_reset_backoff.c b/src/ats/test_ats_api_reset_backoff.c index 90d9e7f83..38c18e1ac 100644 --- a/src/ats/test_ats_api_reset_backoff.c +++ b/src/ats/test_ats_api_reset_backoff.c @@ -28,7 +28,7 @@ #include "ats.h" #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) -#define ATS_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1) +#define ATS_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 90) static GNUNET_SCHEDULER_TaskIdentifier die_task; @@ -130,25 +130,16 @@ suggest_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer timed out\n"); -} - -static void request_address () -{ - if (suggest_timeout_task != GNUNET_SCHEDULER_NO_TASK) + if (die_task != GNUNET_SCHEDULER_NO_TASK) { - GNUNET_SCHEDULER_cancel (suggest_timeout_task); - suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; + GNUNET_SCHEDULER_cancel (die_task); + die_task = GNUNET_SCHEDULER_NO_TASK; } - suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_MINUTES, &suggest_timeout, NULL); - - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer `%s'\n", - GNUNET_i2s (&peer.id)); - GNUNET_ATS_suggest_address (ats, &peer.id); + die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); } - static void address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, struct Session *session, @@ -236,14 +227,9 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, GNUNET_SCHEDULER_cancel (suggest_timeout_task); suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; } - - GNUNET_ATS_reset_backoff(ats, &a->peer); - request_address (); + suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(ATS_TIMEOUT, &suggest_timeout, NULL); } - - - void start_arm (const char *cfgname) { @@ -289,7 +275,13 @@ check (void *cls, char *const *args, const char *cfgfile, hello_addr.address_length = address.addr_len; GNUNET_ATS_address_update (ats, &hello_addr, address.session, NULL, 0); - request_address (); + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer `%s'\n", + GNUNET_i2s (&peer.id)); + /* Increase block timout far beyond ATS_TIMEOUT */ + GNUNET_ATS_suggest_address (ats, &peer.id); + + GNUNET_ATS_reset_backoff(ats, &peer.id); + GNUNET_ATS_suggest_address (ats, &peer.id); } int -- 2.25.1