add additional stage due to issues on powerbot:
authorMatthias Wachs <wachs@net.in.tum.de>
Wed, 12 Dec 2012 11:11:12 +0000 (11:11 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Wed, 12 Dec 2012 11:11:12 +0000 (11:11 +0000)
initial address suggestion can take quite long during service startup

src/ats/test_ats_api.conf
src/ats/test_ats_api_scheduling_block_and_reset.c

index 20d949a2e13357a1d8ef9f04c0b8c5a43189358c..7b4a07e15e24168731fe7f7bf1bfaa873ff8231b 100644 (file)
@@ -22,6 +22,9 @@ UNIX_MATCH_GID = YES
 # Enable MLP mode (default: NO)
 MODE = SIMPLISTIC
 # Network specific inbound/outbound quotas
+# UNSPECIFIED
+UNSPECIFIED_QUOTA_IN = 64 KiB
+UNSPECIFIED_QUOTA_OUT = 64 KiB
 # LOOPBACK
 LOOPBACK_QUOTA_IN = unlimited
 LOOPBACK_QUOTA_OUT = unlimited
index 90ec0c757625f99ac344574f8362cac4852975c2..82c859a6e709cdbe38f7bf615fb3bbd3773937b0 100644 (file)
@@ -147,7 +147,7 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
   static int stage = 0;
 
   GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stage %u\n", stage);
-  if (2 == stage)
+  if (3 == stage)
   {
       /* Suggestion after resetting block interval */
       reset_block_duration = GNUNET_TIME_absolute_get_difference(reset_block_start, GNUNET_TIME_absolute_get());
@@ -196,7 +196,7 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
       GNUNET_SCHEDULER_add_now (&end, NULL);
 
   }
-  if (1 == stage)
+  if (2 == stage)
   {
       /* Suggestion after block*/
       block_duration = GNUNET_TIME_absolute_get_difference(block_start, GNUNET_TIME_absolute_get());
@@ -205,13 +205,13 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
 
       if (GNUNET_OK == compare_addresses (address, session, &test_hello_address, test_session))
       {
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with correct address `%s'\n",
+          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with correct address `%s'\n", stage,
                       GNUNET_i2s (&address->peer));
           ret = 0;
       }
       else
       {
-          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with invalid address `%s'\n",
+          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with invalid address `%s'\n", stage,
                       GNUNET_i2s (&address->peer));
           GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
           GNUNET_SCHEDULER_add_now (&end, NULL);
@@ -220,7 +220,7 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
 
       if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))
       {
-        GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 0: Callback with incorrect ats info \n");
+        GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage %u: Callback with incorrect ats info \n");
         GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
         GNUNET_SCHEDULER_add_now (&end, NULL);
         ret = 1;
@@ -232,18 +232,18 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
       reset_block_start = GNUNET_TIME_absolute_get();
       GNUNET_ATS_suggest_address (sched_ats, &p.id);
   }
-  if (0 == stage)
+  if (1 == stage)
   {
     /* Initial suggestion */
     if (GNUNET_OK == compare_addresses (address, session, &test_hello_address, test_session))
     {
-        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with correct address `%s'\n",
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with correct address `%s'\n", stage,
                     GNUNET_i2s (&address->peer));
         ret = 0;
     }
     else
     {
-        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage 0: Callback with invalid address `%s'\n",
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with invalid address `%s'\n", stage,
                     GNUNET_i2s (&address->peer));
         GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
         GNUNET_SCHEDULER_add_now (&end, NULL);
@@ -252,19 +252,51 @@ address_suggest_cb (void *cls, const struct GNUNET_HELLO_Address *address,
 
     if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))
     {
-      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage 0: Callback with incorrect ats info \n");
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage %u: Callback with incorrect ats info \n");
       GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
       GNUNET_SCHEDULER_add_now (&end, NULL);
       ret = 1;
     }
     stage ++;
     initial_duration = GNUNET_TIME_absolute_get_difference(initial_start, GNUNET_TIME_absolute_get());
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Initial suggestion took about %llu ms\n",
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Stage %u: Initial suggestion took about %llu ms\n", stage,
                 (long long unsigned int) block_duration.rel_value);
 
     block_start = GNUNET_TIME_absolute_get();
     wait_task = GNUNET_SCHEDULER_add_delayed (WAIT, &request_task, NULL);
   }
+  if (0 == stage)
+  {
+    /* Startup suggestion */
+    if (GNUNET_OK == compare_addresses (address, session, &test_hello_address, test_session))
+    {
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with correct address `%s'\n", stage,
+                    GNUNET_i2s (&address->peer));
+        ret = 0;
+    }
+    else
+    {
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Stage %u: Callback with invalid address `%s'\n", stage,
+                    GNUNET_i2s (&address->peer));
+        GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
+        GNUNET_SCHEDULER_add_now (&end, NULL);
+        ret = 1;
+    }
+
+    if (GNUNET_OK != compare_ats(atsi, ats_count, test_ats_info, test_ats_count))
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Stage %u: Callback with incorrect ats info \n");
+      GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
+      GNUNET_SCHEDULER_add_now (&end, NULL);
+      ret = 1;
+    }
+    stage ++;
+
+    GNUNET_ATS_suggest_address_cancel (sched_ats, &p.id);
+
+    initial_start = GNUNET_TIME_absolute_get();
+    GNUNET_ATS_suggest_address (sched_ats, &p.id);
+  }
 }