gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r31380 - gnunet/src/transport
Date: Fri, 13 Dec 2013 21:23:59 +0100

Author: grothoff
Date: 2013-12-13 21:23:59 +0100 (Fri, 13 Dec 2013)
New Revision: 31380

Modified:
   gnunet/src/transport/gnunet-service-transport.c
   gnunet/src/transport/gnunet-service-transport_neighbours.c
   gnunet/src/transport/transport_api.c
Log:
-simplify logic to help diagnose #2858

Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c     2013-12-13 19:51:37 UTC 
(rev 31379)
+++ gnunet/src/transport/gnunet-service-transport.c     2013-12-13 20:23:59 UTC 
(rev 31380)
@@ -205,7 +205,7 @@
     return ret;
   }
 
-  GST_ats_add_address ((struct GNUNET_HELLO_Address *) address, session);
+  GST_ats_add_address (address, session);
 
   if (GNUNET_YES != do_forward)
     return ret;

Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2013-12-13 
19:51:37 UTC (rev 31379)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2013-12-13 
20:23:59 UTC (rev 31380)
@@ -1949,9 +1949,9 @@
       break; /* result for an address we currently don't care about */
     if (GNUNET_OK == result)
     {
+      n->state = S_RECONNECT_SENT;
       send_session_connect (&n->primary_address);
       n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT);
-      n->state = S_RECONNECT_SENT;
     }
     else
     {
@@ -1980,8 +1980,8 @@
     }
     else
     {
+      n->state = S_CONNECTED;
       free_address (&n->alternative_address);
-      n->state = S_CONNECTED;
     }
     break;
   case S_CONNECTED_SWITCHING_CONNECT_SENT:
@@ -2318,17 +2318,17 @@
     }
     /* ATS asks us to switch a life connection; see if we can get
        a CONNECT_ACK on it before we actually do this! */
+    n->state = S_CONNECTED_SWITCHING_BLACKLIST;
     set_address (&n->alternative_address,
                 address, session, bandwidth_in, bandwidth_out, GNUNET_NO);
-    n->state = S_CONNECTED_SWITCHING_BLACKLIST;
     check_blacklist (&n->id,
                     GNUNET_TIME_absolute_get (),
                     address, session);
     break;
   case S_RECONNECT_ATS:
+    n->state = S_RECONNECT_BLACKLIST;
     set_address (&n->primary_address,
                 address, session, bandwidth_in, bandwidth_out, GNUNET_NO);
-    n->state = S_RECONNECT_BLACKLIST;
     n->timeout = GNUNET_TIME_relative_to_absolute (BLACKLIST_RESPONSE_TIMEOUT);
     check_blacklist (&n->id,
                     n->connect_ack_timestamp,
@@ -2347,9 +2347,9 @@
   case S_RECONNECT_SENT:
     /* ATS asks us to switch while we were trying to reconnect; switch to new
        address and check blacklist again */
+    n->state = S_RECONNECT_BLACKLIST;
     set_address (&n->primary_address,
                 address, session, bandwidth_in, bandwidth_out, GNUNET_NO);
-    n->state = S_RECONNECT_BLACKLIST;
     n->timeout = GNUNET_TIME_relative_to_absolute (BLACKLIST_RESPONSE_TIMEOUT);
     check_blacklist (&n->id,
                     n->connect_ack_timestamp,
@@ -2359,8 +2359,8 @@
     if (n->primary_address.session == session)
     {
       /* ATS switches back to still-active session */
+      n->state = S_CONNECTED;
       free_address (&n->alternative_address);
-      n->state = S_CONNECTED;
       break;
     }
     /* ATS asks us to switch a life connection, update blacklist check */
@@ -2379,9 +2379,9 @@
       break;
     }
     /* ATS asks us to switch a life connection, update blacklist check */
+    n->state = S_CONNECTED_SWITCHING_BLACKLIST;
     set_address (&n->alternative_address,
                 address, session, bandwidth_in, bandwidth_out, GNUNET_NO);
-    n->state = S_CONNECTED_SWITCHING_BLACKLIST;
     check_blacklist (&n->id,
                     GNUNET_TIME_absolute_get (),
                     address, session);
@@ -2964,12 +2964,12 @@
   {
     if (session == n->alternative_address.session)
     {
-      free_address (&n->alternative_address);
       if ( (S_CONNECTED_SWITCHING_BLACKLIST == n->state) ||
           (S_CONNECTED_SWITCHING_CONNECT_SENT == n->state) )
        n->state = S_CONNECTED;
       else
        GNUNET_break (0);
+      free_address (&n->alternative_address);
     }
     return GNUNET_NO; /* doesn't affect us further */
   }
@@ -3002,8 +3002,8 @@
     free_neighbour (n, GNUNET_NO);
     return GNUNET_YES;
   case S_CONNECTED:
+    n->state = S_RECONNECT_ATS;
     free_address (&n->primary_address);
-    n->state = S_RECONNECT_ATS;
     n->timeout = GNUNET_TIME_relative_to_absolute (ATS_RESPONSE_TIMEOUT);
     /* FIXME: is this ATS call needed? */
     n->suggest_handle = GNUNET_ATS_suggest_address (GST_ats, &n->id);
@@ -3022,20 +3022,20 @@
   case S_CONNECTED_SWITCHING_BLACKLIST:
     /* primary went down while we were checking secondary against
        blacklist, adopt secondary as primary */
+    n->state = S_RECONNECT_BLACKLIST;
     free_address (&n->primary_address);
     n->primary_address = n->alternative_address;
     memset (&n->alternative_address, 0, sizeof (struct NeighbourAddress));
     n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT);
-    n->state = S_RECONNECT_BLACKLIST;
     break;
   case S_CONNECTED_SWITCHING_CONNECT_SENT:
     /* primary went down while we were waiting for CONNECT_ACK on secondary;
        secondary as primary */
+    n->state = S_RECONNECT_SENT;
     free_address (&n->primary_address);
     n->primary_address = n->alternative_address;
     memset (&n->alternative_address, 0, sizeof (struct NeighbourAddress));
     n->timeout = GNUNET_TIME_relative_to_absolute (FAST_RECONNECT_TIMEOUT);
-    n->state = S_RECONNECT_SENT;
     break;
   case S_DISCONNECT:
     free_address (&n->primary_address);

Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c        2013-12-13 19:51:37 UTC (rev 
31379)
+++ gnunet/src/transport/transport_api.c        2013-12-13 20:23:59 UTC (rev 
31380)
@@ -1518,7 +1518,7 @@
 /**
  * Disconnect from the transport service.
  *
- * @param handle handle to the service as returned from 
GNUNET_TRANSPORT_connect
+ * @param handle handle to the service as returned from 
#GNUNET_TRANSPORT_connect()
  */
 void
 GNUNET_TRANSPORT_disconnect (struct GNUNET_TRANSPORT_Handle *handle)




reply via email to

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