gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r24863 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r24863 - gnunet/src/transport
Date: Fri, 9 Nov 2012 14:52:57 +0100

Author: wachs
Date: 2012-11-09 14:52:57 +0100 (Fri, 09 Nov 2012)
New Revision: 24863

Modified:
   gnunet/src/transport/gnunet-transport.c
Log:
API change

Modified: gnunet/src/transport/gnunet-transport.c
===================================================================
--- gnunet/src/transport/gnunet-transport.c     2012-11-09 13:33:40 UTC (rev 
24862)
+++ gnunet/src/transport/gnunet-transport.c     2012-11-09 13:52:57 UTC (rev 
24863)
@@ -59,7 +59,13 @@
  */
 static struct GNUNET_TRANSPORT_Handle *handle;
 
+
 /**
+ * Try_connect handle
+ */
+struct GNUNET_TRANSPORT_TryConnectHandle * tc_handle;
+
+/**
  * Option -s.
  */
 static int benchmark_send;
@@ -225,6 +231,11 @@
       GNUNET_SCHEDULER_cancel (op_timeout);
       op_timeout = GNUNET_SCHEDULER_NO_TASK;
   }
+  if (NULL != tc_handle)
+  {
+      GNUNET_TRANSPORT_try_connect_cancel (tc_handle);
+      tc_handle = NULL;
+  }
   if (NULL != pic)
   {
       GNUNET_TRANSPORT_peer_get_active_addresses_cancel (pic);
@@ -696,7 +707,30 @@
                                       rc);
 }
 
+void try_connect_cb (void *cls,
+                     const int result)
+{
+  static int retries = 0;
+  if (GNUNET_OK == result)
+  {
+      tc_handle = NULL;
+      return;
+  }
+  retries ++;
+  if (retries < 10)
+    tc_handle = GNUNET_TRANSPORT_try_connect (handle, &pid, try_connect_cb, 
NULL);
+  else
+  {
+    FPRINTF (stderr, "%s", _("Failed to send connect request to transport 
service\n"));
+    if (GNUNET_SCHEDULER_NO_TASK != end)
+      GNUNET_SCHEDULER_cancel (end);
+    ret = 1;
+    end = GNUNET_SCHEDULER_add_now (&shutdown_task, NULL);
+    return;
+  }
+}
 
+
 static void
 testservice_task (void *cls,
                   const struct GNUNET_SCHEDULER_TaskContext *tc)
@@ -752,7 +786,13 @@
         ret = 1;
         return;
     }
-    GNUNET_TRANSPORT_try_connect (handle, &pid, NULL, NULL); /*FIXME 
TRY_CONNECT change */
+    tc_handle = GNUNET_TRANSPORT_try_connect (handle, &pid, try_connect_cb, 
NULL);
+    if (NULL == tc_handle)
+    {
+        FPRINTF (stderr, "%s", _("Failed to send request to transport 
service\n"));
+        ret = 1;
+        return;
+    }
     op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
                                                &operation_timeout, NULL);
 
@@ -776,7 +816,13 @@
         ret = 1;
         return;
     }
-    GNUNET_TRANSPORT_try_connect (handle, &pid, NULL, NULL); /*FIXME 
TRY_CONNECT change */
+    tc_handle =  GNUNET_TRANSPORT_try_connect (handle, &pid, try_connect_cb, 
NULL);
+    if (NULL == tc_handle)
+    {
+        FPRINTF (stderr, "%s", _("Failed to send request to transport 
service\n"));
+        ret = 1;
+        return;
+    }
     start_time = GNUNET_TIME_absolute_get ();
     op_timeout = GNUNET_SCHEDULER_add_delayed (OP_TIMEOUT,
                                                &operation_timeout, NULL);




reply via email to

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