no hard fail in case out transmit_ready timeout instead shut peers correctly down
authorMatthias Wachs <wachs@net.in.tum.de>
Tue, 13 Sep 2011 08:15:04 +0000 (08:15 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Tue, 13 Sep 2011 08:15:04 +0000 (08:15 +0000)
src/transport/test_transport_api.c
src/transport/test_transport_api_reliability.c
src/transport/test_transport_api_unreliability.c

index 92f1b9c954cc51d443f3325c92087569c8825b2e..ba7dc7cc184a6871e6fe69410b7509459fea1cc7 100644 (file)
@@ -46,7 +46,7 @@
 /**
  * How long until we give up on transmitting the message?
  */
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 300)
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 120)
 
 /**
  * How long until we give up on transmitting the message?
@@ -164,6 +164,17 @@ notify_ready (void *cls, size_t size, void *buf)
 
   th = NULL;
 
+  if (buf == NULL)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Timeout occurred while waiting for transmit_ready\n");
+    if (GNUNET_SCHEDULER_NO_TASK != die_task)
+      GNUNET_SCHEDULER_cancel (die_task);
+    die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
+    ok = 42;
+    return 0;
+  }
+
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "Transmitting message with %u bytes to peer %s\n",
               sizeof (struct GNUNET_MessageHeader), GNUNET_i2s (&p->id));
@@ -204,8 +215,9 @@ sendtask (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
     return;
 
-  th = GNUNET_TRANSPORT_notify_transmit_ready (p1->th, &p2->id, 256, 0, TIMEOUT,
-                                               &notify_ready, &p1);
+  th = GNUNET_TRANSPORT_notify_transmit_ready (p1->th, &p2->id, 256, 0,
+                                               TIMEOUT_TRANSMIT, &notify_ready,
+                                               &p1);
 }
 
 static void
index 7b7d9eac45a6885e669f301b6a951c5cd4a2a46c..18971a986218950e7dc1984edec24c767c73134f 100644 (file)
 
 #define START_ARM GNUNET_YES
 
+/**
+ * Testcase timeout
+ */
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 60)
+
 /**
  * How long until we give up on transmitting the message?
  */
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 900)
+#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
+
 
 static char *test_source;
 
@@ -251,13 +257,18 @@ notify_ready (void *cls, size_t size, void *buf)
   unsigned int s;
   unsigned int ret;
 
+  th = NULL;
   if (buf == NULL)
   {
-    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Timeout occurred while waiting for transmit_ready\n");
+    if (GNUNET_SCHEDULER_NO_TASK != die_task)
+      GNUNET_SCHEDULER_cancel (die_task);
+    die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
     ok = 42;
     return 0;
   }
-  th = NULL;
+
   ret = 0;
   s = get_size (n);
   GNUNET_assert (size >= s);
@@ -290,8 +301,8 @@ notify_ready (void *cls, size_t size, void *buf)
   {
     if (th == NULL)
       th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0,
-                                                   TIMEOUT, &notify_ready,
-                                                   NULL);
+                                                   TIMEOUT_TRANSMIT,
+                                                   &notify_ready, NULL);
     msg_scheduled = n;
   }
   if (n % 5000 == 0)
@@ -348,7 +359,8 @@ sendtask ()
 {
   start_time = GNUNET_TIME_absolute_get ();
   th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, get_size (0), 0,
-                                               TIMEOUT, &notify_ready, NULL);
+                                               TIMEOUT_TRANSMIT, &notify_ready,
+                                               NULL);
 }
 
 static void
index 13a765c7273d8a5111c5a29393d5c6076c61a2d6..aa84b85196294713772295a19ade9f972a237f25 100644 (file)
 
 #define START_ARM GNUNET_YES
 
+/**
+ * Testcase timeout
+ */
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 60)
+
 /**
  * How long until we give up on transmitting the message?
  */
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 900)
+#define TIMEOUT_TRANSMIT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 10)
 
 static char *test_source;
 
@@ -315,7 +320,11 @@ notify_ready (void *cls, size_t size, void *buf)
 
   if (buf == NULL)
   {
-    GNUNET_break (0);
+    GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+                "Timeout occurred while waiting for transmit_ready\n");
+    if (GNUNET_SCHEDULER_NO_TASK != die_task)
+      GNUNET_SCHEDULER_cancel (die_task);
+    die_task = GNUNET_SCHEDULER_add_now (&end_badly, NULL);
     ok = 42;
     return 0;
   }
@@ -350,7 +359,8 @@ notify_ready (void *cls, size_t size, void *buf)
   while (size - ret >= s);
   if (n < TOTAL_MSGS)
   {
-    th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0, TIMEOUT,
+    th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, s, 0,
+                                                 TIMEOUT_TRANSMIT,
                                                  &notify_ready, NULL);
     msg_scheduled = n;
   }
@@ -412,7 +422,8 @@ sendtask ()
 {
   start_time = GNUNET_TIME_absolute_get ();
   th = GNUNET_TRANSPORT_notify_transmit_ready (p2->th, &p1->id, get_size (0), 0,
-                                               TIMEOUT, &notify_ready, NULL);
+                                               TIMEOUT_TRANSMIT, &notify_ready,
+                                               NULL);
 }
 
 static void