diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2012-05-22 11:27:03 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2012-05-22 11:27:03 +0000 |
commit | 5afa110251ecd1230d1386e114b65508d5916027 (patch) | |
tree | 12ffb54a9b302ed0fddbd7b7c5ef2be46bea5da0 /src | |
parent | 58243199da1c8959f3a86d5ec848575f97ca6e94 (diff) | |
download | gnunet-5afa110251ecd1230d1386e114b65508d5916027.tar.gz gnunet-5afa110251ecd1230d1386e114b65508d5916027.zip |
- changes
Diffstat (limited to 'src')
-rw-r--r-- | src/ats/test_ats_api_reset_backoff.c | 34 |
1 files 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 @@ | |||
28 | #include "ats.h" | 28 | #include "ats.h" |
29 | 29 | ||
30 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) | 30 | #define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10) |
31 | #define ATS_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1) | 31 | #define ATS_TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MILLISECONDS, 90) |
32 | 32 | ||
33 | static GNUNET_SCHEDULER_TaskIdentifier die_task; | 33 | static GNUNET_SCHEDULER_TaskIdentifier die_task; |
34 | 34 | ||
@@ -130,25 +130,16 @@ suggest_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
130 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 130 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; |
131 | 131 | ||
132 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer timed out\n"); | 132 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer timed out\n"); |
133 | } | ||
134 | |||
135 | static void request_address () | ||
136 | { | ||
137 | 133 | ||
138 | if (suggest_timeout_task != GNUNET_SCHEDULER_NO_TASK) | 134 | if (die_task != GNUNET_SCHEDULER_NO_TASK) |
139 | { | 135 | { |
140 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); | 136 | GNUNET_SCHEDULER_cancel (die_task); |
141 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 137 | die_task = GNUNET_SCHEDULER_NO_TASK; |
142 | } | 138 | } |
143 | 139 | ||
144 | suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_MINUTES, &suggest_timeout, NULL); | 140 | die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL); |
145 | |||
146 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer `%s'\n", | ||
147 | GNUNET_i2s (&peer.id)); | ||
148 | GNUNET_ATS_suggest_address (ats, &peer.id); | ||
149 | } | 141 | } |
150 | 142 | ||
151 | |||
152 | static void | 143 | static void |
153 | address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, | 144 | address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, |
154 | struct Session *session, | 145 | struct Session *session, |
@@ -236,14 +227,9 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *a, | |||
236 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); | 227 | GNUNET_SCHEDULER_cancel (suggest_timeout_task); |
237 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; | 228 | suggest_timeout_task = GNUNET_SCHEDULER_NO_TASK; |
238 | } | 229 | } |
239 | 230 | suggest_timeout_task = GNUNET_SCHEDULER_add_delayed(ATS_TIMEOUT, &suggest_timeout, NULL); | |
240 | GNUNET_ATS_reset_backoff(ats, &a->peer); | ||
241 | request_address (); | ||
242 | } | 231 | } |
243 | 232 | ||
244 | |||
245 | |||
246 | |||
247 | void | 233 | void |
248 | start_arm (const char *cfgname) | 234 | start_arm (const char *cfgname) |
249 | { | 235 | { |
@@ -289,7 +275,13 @@ check (void *cls, char *const *args, const char *cfgfile, | |||
289 | hello_addr.address_length = address.addr_len; | 275 | hello_addr.address_length = address.addr_len; |
290 | GNUNET_ATS_address_update (ats, &hello_addr, address.session, NULL, 0); | 276 | GNUNET_ATS_address_update (ats, &hello_addr, address.session, NULL, 0); |
291 | 277 | ||
292 | request_address (); | 278 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Requesting address for peer `%s'\n", |
279 | GNUNET_i2s (&peer.id)); | ||
280 | /* Increase block timout far beyond ATS_TIMEOUT */ | ||
281 | GNUNET_ATS_suggest_address (ats, &peer.id); | ||
282 | |||
283 | GNUNET_ATS_reset_backoff(ats, &peer.id); | ||
284 | GNUNET_ATS_suggest_address (ats, &peer.id); | ||
293 | } | 285 | } |
294 | 286 | ||
295 | int | 287 | int |