gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r35191 - gnunet/src/ats


From: gnunet
Subject: [GNUnet-SVN] r35191 - gnunet/src/ats
Date: Mon, 9 Feb 2015 13:17:18 +0100

Author: grothoff
Date: 2015-02-09 13:17:18 +0100 (Mon, 09 Feb 2015)
New Revision: 35191

Modified:
   gnunet/src/ats/ats_api_connectivity.c
   gnunet/src/ats/ats_api_performance.c
   gnunet/src/ats/ats_api_scheduling.c
Log:
-use backoff for reconnects

Modified: gnunet/src/ats/ats_api_connectivity.c
===================================================================
--- gnunet/src/ats/ats_api_connectivity.c       2015-02-09 11:59:59 UTC (rev 
35190)
+++ gnunet/src/ats/ats_api_connectivity.c       2015-02-09 12:17:18 UTC (rev 
35191)
@@ -78,6 +78,10 @@
    */
   struct GNUNET_SCHEDULER_Task *task;
 
+  /**
+   * Reconnect backoff delay.
+   */
+  struct GNUNET_TIME_Relative backoff;
 };
 
 
@@ -125,7 +129,8 @@
     GNUNET_CLIENT_disconnect (ch->client);
     ch->client = NULL;
   }
-  ch->task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+  ch->backoff = GNUNET_TIME_STD_BACKOFF (ch->backoff);
+  ch->task = GNUNET_SCHEDULER_add_delayed (ch->backoff,
                                            &reconnect_task,
                                            ch);
 }

Modified: gnunet/src/ats/ats_api_performance.c
===================================================================
--- gnunet/src/ats/ats_api_performance.c        2015-02-09 11:59:59 UTC (rev 
35190)
+++ gnunet/src/ats/ats_api_performance.c        2015-02-09 12:17:18 UTC (rev 
35191)
@@ -221,9 +221,14 @@
   /**
    * Task to trigger reconnect.
    */
-  struct GNUNET_SCHEDULER_Task * task;
+  struct GNUNET_SCHEDULER_Task *task;
 
   /**
+   * Reconnect backoff delay.
+   */
+  struct GNUNET_TIME_Relative backoff;
+
+  /**
    * Monitor request multiplexing
    */
   uint32_t monitor_id;
@@ -609,6 +614,7 @@
     GNUNET_break(0);
     goto reconnect;
   }
+  ph->backoff = GNUNET_TIME_UNIT_ZERO;
   GNUNET_CLIENT_receive (ph->client,
                          &process_ats_message,
                          ph,
@@ -635,8 +641,10 @@
                       GNUNET_BANDWIDTH_value_init (0),
                       NULL, 0);
   }
-  ph->task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
-                                           &reconnect_task, ph);
+  ph->backoff = GNUNET_TIME_STD_BACKOFF (ph->backoff);
+  ph->task = GNUNET_SCHEDULER_add_delayed (ph->backoff,
+                                           &reconnect_task,
+                                           ph);
 }
 
 

Modified: gnunet/src/ats/ats_api_scheduling.c
===================================================================
--- gnunet/src/ats/ats_api_scheduling.c 2015-02-09 11:59:59 UTC (rev 35190)
+++ gnunet/src/ats/ats_api_scheduling.c 2015-02-09 12:17:18 UTC (rev 35191)
@@ -145,6 +145,11 @@
   struct GNUNET_SCHEDULER_Task *task;
 
   /**
+   * Reconnect backoff delay.
+   */
+  struct GNUNET_TIME_Relative backoff;
+
+  /**
    * Size of the @e session_array.
    */
   unsigned int session_array_size;
@@ -200,7 +205,8 @@
                   NULL, NULL, NULL,
                   GNUNET_BANDWIDTH_ZERO,
                   GNUNET_BANDWIDTH_ZERO);
-  sh->task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+  sh->backoff = GNUNET_TIME_STD_BACKOFF (sh->backoff);
+  sh->task = GNUNET_SCHEDULER_add_delayed (sh->backoff,
                                            &reconnect_task,
                                            sh);
 }
@@ -432,6 +438,7 @@
     GNUNET_break (0);
     return;
   }
+  sh->backoff = GNUNET_TIME_UNIT_ZERO;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "ATS suggests address slot %u for peer `%s' using plugin %s\n",
               ar->slot,




reply via email to

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