gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r15922 - gnunet/src/transport
Date: Mon, 11 Jul 2011 16:15:04 +0200

Author: nevans
Date: 2011-07-11 16:15:04 +0200 (Mon, 11 Jul 2011)
New Revision: 15922

Modified:
   gnunet/src/transport/gnunet-service-transport.c
Log:
prefer inbound addresses

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2011-07-11 12:56:09 UTC 
(rev 15921)
+++ gnunet/src/transport/gnunet-service-transport.c     2011-07-11 14:15:04 UTC 
(rev 15922)
@@ -1934,7 +1934,12 @@
   pos = fal->ready_list->addresses;
   while (pos != NULL)
     {
-      if (GNUNET_YES == pos->connected)
+      /* Always prefer inbound addresses, provided they are still live */
+      if ((GNUNET_YES == pos->connected) && (0 == pos->addrlen))
+        {
+          return;
+        }
+      else if (GNUNET_YES == pos->connected)
        {
 #if DEBUG_TRANSPORT
          GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
@@ -3786,7 +3791,10 @@
   struct GNUNET_TIME_Relative delay;
 
   if (fal->revalidate_task != GNUNET_SCHEDULER_NO_TASK)
-    return;
+    {
+      GNUNET_SCHEDULER_cancel(fal->revalidate_task);
+      fal->revalidate_task = GNUNET_SCHEDULER_NO_TASK;
+    }
   delay = GNUNET_TIME_absolute_get_remaining (fal->expires);
   delay.rel_value /= 2; /* do before expiration */
   delay = GNUNET_TIME_relative_min (delay,
@@ -3796,6 +3804,7 @@
       delay = GNUNET_TIME_UNIT_ZERO;
       fal->estimated = GNUNET_YES;
     }
+
   if (GNUNET_YES == fal->connected)
     {
       delay = GNUNET_TIME_relative_min (delay,
@@ -5953,14 +5962,17 @@
               transport_plugin = foreign_address_iterator->ready_list->plugin;
               if (foreign_address_iterator->addr != NULL)
                 {
-                  GNUNET_asprintf (&addr_buf, "%s:%s --- %s",
+                  GNUNET_asprintf (&addr_buf, "%s:%s --- %s, %s",
                                    GNUNET_i2s(&neighbor_iterator->id),
                                    a2s (transport_plugin->short_name,
                                         foreign_address_iterator->addr,
                                         foreign_address_iterator->addrlen),
                                    (foreign_address_iterator->connected
                                        == GNUNET_YES) ? "CONNECTED"
-                                       : "DISCONNECTED");
+                                       : "DISCONNECTED",
+                                   (foreign_address_iterator->validated
+                                       == GNUNET_YES) ? "VALIDATED"
+                                       : "UNVALIDATED");
                   transmit_address_to_client (tc, addr_buf);
                   GNUNET_free(addr_buf);
                 }




reply via email to

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