gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r21515 - gnunet/src/transport
Date: Wed, 16 May 2012 02:04:18 +0200

Author: grothoff
Date: 2012-05-16 02:04:18 +0200 (Wed, 16 May 2012)
New Revision: 21515

Modified:
   gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
-fixing 2360

Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-05-15 
21:12:04 UTC (rev 21514)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2012-05-16 
00:04:18 UTC (rev 21515)
@@ -1691,6 +1691,14 @@
   case S_INIT_BLACKLIST:
     /* check if the address the blacklist was fine with matches
        ATS suggestion, if so, we can move on! */
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (bcc->na.address,
+                                       bcc->na.session,
+                                       n->connect_ack_timestamp);
+    }
     if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address))
       break; /* result for an address we currently don't care about */
     if (GNUNET_OK == result)
@@ -1698,13 +1706,6 @@
       n->timeout = GNUNET_TIME_relative_to_absolute (SETUP_CONNECTION_TIMEOUT);
       n->state = S_CONNECT_SENT;
       send_session_connect (&n->primary_address);
-      if (1 == n->send_connect_ack) 
-      {
-       n->send_connect_ack = 2;
-       send_session_connect_ack_message (bcc->na.address,
-                                         bcc->na.session,
-                                         n->connect_ack_timestamp);
-      }
     }
     else
     {
@@ -1718,7 +1719,15 @@
     }
     break;
   case S_CONNECT_SENT:
-    /* waiting on CONNECT_ACK, don't care about blacklist */
+    /* waiting on CONNECT_ACK, send ACK if one is pending */
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (n->primary_address.address,
+                                       n->primary_address.session,
+                                       n->connect_ack_timestamp);
+    }
     break; 
   case S_CONNECT_RECV_ATS:
     /* still waiting on ATS suggestion, don't care about blacklist */
@@ -1748,7 +1757,15 @@
     }
     break;
   case S_CONNECT_RECV_ACK:
-    /* waiting on SESSION_ACK, don't care about blacklist */
+    /* waiting on SESSION_ACK, send ACK if one is pending */
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (n->primary_address.address,
+                                       n->primary_address.session,
+                                       n->connect_ack_timestamp);
+    }
     break; 
   case S_CONNECTED:
     /* already connected, don't care about blacklist */
@@ -1757,6 +1774,14 @@
     /* still waiting on ATS suggestion, don't care about blacklist */
     break;     
   case S_RECONNECT_BLACKLIST:
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (bcc->na.address,
+                                       bcc->na.session,
+                                       n->connect_ack_timestamp);
+    }
     if (GNUNET_YES != address_matches (&bcc->na, &n->primary_address))
       break; /* result for an address we currently don't care about */
     if (GNUNET_OK == result)
@@ -1764,13 +1789,6 @@
       send_session_connect (&n->primary_address);
       n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT);
       n->state = S_RECONNECT_SENT;
-      if (1 == n->send_connect_ack) 
-      {
-       n->send_connect_ack = 2;
-       send_session_connect_ack_message (bcc->na.address,
-                                         bcc->na.session,
-                                         n->connect_ack_timestamp);
-      }
     }
     else
     {
@@ -1785,6 +1803,14 @@
     break;
   case S_RECONNECT_SENT:
     /* waiting on CONNECT_ACK, don't care about blacklist */
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (n->primary_address.address,
+                                       n->primary_address.session,
+                                       n->connect_ack_timestamp);
+    }
     break;     
   case S_CONNECTED_SWITCHING_BLACKLIST:
     if (GNUNET_YES != address_matches (&bcc->na, &n->alternative_address))
@@ -1805,6 +1831,14 @@
     break;
   case S_CONNECTED_SWITCHING_CONNECT_SENT:
     /* waiting on CONNECT_ACK, don't care about blacklist */
+    if ( (GNUNET_OK == result) &&
+        (1 == n->send_connect_ack) )
+    {
+      n->send_connect_ack = 2;
+      send_session_connect_ack_message (n->primary_address.address,
+                                       n->primary_address.session,
+                                       n->connect_ack_timestamp);
+    }
     break;     
   case S_DISCONNECT:
     /* Nothing to do here, ATS will already do what can be done */




reply via email to

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