gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r17532 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r17532 - gnunet/src/core
Date: Mon, 17 Oct 2011 13:15:09 +0200

Author: grothoff
Date: 2011-10-17 13:15:09 +0200 (Mon, 17 Oct 2011)
New Revision: 17532

Modified:
   gnunet/src/core/test_core_api_reliability.c
Log:
try to connect more than just once

Modified: gnunet/src/core/test_core_api_reliability.c
===================================================================
--- gnunet/src/core/test_core_api_reliability.c 2011-10-17 11:12:21 UTC (rev 
17531)
+++ gnunet/src/core/test_core_api_reliability.c 2011-10-17 11:15:09 UTC (rev 
17532)
@@ -63,7 +63,9 @@
 
 static GNUNET_SCHEDULER_TaskIdentifier err_task;
 
+static GNUNET_SCHEDULER_TaskIdentifier connect_task;
 
+
 struct PeerContext
 {
   struct GNUNET_CONFIGURATION_Handle *cfg;
@@ -125,6 +127,8 @@
   p1.ch = NULL;
   GNUNET_CORE_disconnect (p2.ch);
   p2.ch = NULL;
+  if (connect_task != GNUNET_SCHEDULER_NO_TASK)
+    GNUNET_SCHEDULER_cancel (connect_task);
   GNUNET_TRANSPORT_disconnect (p1.th);
   p1.th = NULL;
   GNUNET_TRANSPORT_disconnect (p2.th);
@@ -152,6 +156,8 @@
     GNUNET_CORE_disconnect (p2.ch);
     p2.ch = NULL;
   }
+ if (connect_task != GNUNET_SCHEDULER_NO_TASK)
+    GNUNET_SCHEDULER_cancel (connect_task);
   if (p1.th != NULL)
   {
     GNUNET_TRANSPORT_get_hello_cancel (p1.ghh);
@@ -168,6 +174,14 @@
 }
 
 
+static void
+try_connect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  connect_task = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_SECONDS,
+                                              &try_connect, NULL);
+  GNUNET_TRANSPORT_try_connect (p1.th, &p2.id);
+}
+
 static size_t
 transmit_ready (void *cls, size_t size, void *buf)
 {
@@ -389,7 +403,7 @@
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
                 "Asking transport (1) to connect to peer `%4s'\n",
                 GNUNET_i2s (&p2.id));
-    GNUNET_TRANSPORT_try_connect (p1.th, &p2.id);
+    connect_task = GNUNET_SCHEDULER_add_now (&try_connect, NULL);
   }
 }
 




reply via email to

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