diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-02-09 12:17:18 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-02-09 12:17:18 +0000 |
commit | 5b23ce75b0196174e5ea189314a0e7301e5c388b (patch) | |
tree | 0695dc711df3bd67abcb9d245f6966e0d74ea1e1 /src/ats/ats_api_performance.c | |
parent | 16b3d36a08d5159a6d662b81146943060d08a149 (diff) | |
download | gnunet-5b23ce75b0196174e5ea189314a0e7301e5c388b.tar.gz gnunet-5b23ce75b0196174e5ea189314a0e7301e5c388b.zip |
-use backoff for reconnects
Diffstat (limited to 'src/ats/ats_api_performance.c')
-rw-r--r-- | src/ats/ats_api_performance.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/ats/ats_api_performance.c b/src/ats/ats_api_performance.c index 19e769bd3..e81f0d394 100644 --- a/src/ats/ats_api_performance.c +++ b/src/ats/ats_api_performance.c | |||
@@ -221,7 +221,12 @@ struct GNUNET_ATS_PerformanceHandle | |||
221 | /** | 221 | /** |
222 | * Task to trigger reconnect. | 222 | * Task to trigger reconnect. |
223 | */ | 223 | */ |
224 | struct GNUNET_SCHEDULER_Task * task; | 224 | struct GNUNET_SCHEDULER_Task *task; |
225 | |||
226 | /** | ||
227 | * Reconnect backoff delay. | ||
228 | */ | ||
229 | struct GNUNET_TIME_Relative backoff; | ||
225 | 230 | ||
226 | /** | 231 | /** |
227 | * Monitor request multiplexing | 232 | * Monitor request multiplexing |
@@ -609,6 +614,7 @@ process_ats_message (void *cls, | |||
609 | GNUNET_break(0); | 614 | GNUNET_break(0); |
610 | goto reconnect; | 615 | goto reconnect; |
611 | } | 616 | } |
617 | ph->backoff = GNUNET_TIME_UNIT_ZERO; | ||
612 | GNUNET_CLIENT_receive (ph->client, | 618 | GNUNET_CLIENT_receive (ph->client, |
613 | &process_ats_message, | 619 | &process_ats_message, |
614 | ph, | 620 | ph, |
@@ -635,8 +641,10 @@ process_ats_message (void *cls, | |||
635 | GNUNET_BANDWIDTH_value_init (0), | 641 | GNUNET_BANDWIDTH_value_init (0), |
636 | NULL, 0); | 642 | NULL, 0); |
637 | } | 643 | } |
638 | ph->task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS, | 644 | ph->backoff = GNUNET_TIME_STD_BACKOFF (ph->backoff); |
639 | &reconnect_task, ph); | 645 | ph->task = GNUNET_SCHEDULER_add_delayed (ph->backoff, |
646 | &reconnect_task, | ||
647 | ph); | ||
640 | } | 648 | } |
641 | 649 | ||
642 | 650 | ||