- debugging code for mantis 2216
authorMatthias Wachs <wachs@net.in.tum.de>
Fri, 30 Mar 2012 10:05:03 +0000 (10:05 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Fri, 30 Mar 2012 10:05:03 +0000 (10:05 +0000)
src/transport/gnunet-service-transport_neighbours.c
src/transport/gnunet-service-transport_validation.c
src/transport/gnunet-service-transport_validation.h

index 3e8ef5aca5e661f1996abffafb90c034e4e8a049..eea5d80a1923edd0724e316ac4f2b416410259cf 100644 (file)
@@ -921,7 +921,7 @@ disconnect_neighbour (struct NeighbourMapEntry *n)
     GNUNET_assert (NULL != n->address);
     if (n->address_state == USED)
     {
-      GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
+      GST_validation_set_address_use (n->address, n->session, GNUNET_NO, __LINE__);
       GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
       n->address_state = UNUSED;
     }
@@ -1270,7 +1270,7 @@ send_switch_address_continuation (void *cls,
   case S_CONNECTED:
     if (n->address_state == FRESH)
     {
-      GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES);
+      GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES,  __LINE__);
       GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0);
       if (cc->session != n->session)
         GNUNET_break (0);
@@ -1291,7 +1291,7 @@ send_switch_address_continuation (void *cls,
 
     if (n->address_state == FRESH)
     {
-      GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES);
+      GST_validation_set_address_use (cc->address, cc->session, GNUNET_YES,  __LINE__);
       GNUNET_ATS_address_update (GST_ats, cc->address, cc->session, NULL, 0);
       GNUNET_ATS_address_in_use (GST_ats, cc->address, cc->session, GNUNET_YES);
       n->address_state = USED;
@@ -1471,7 +1471,7 @@ GST_neighbours_switch_to_address (const struct GNUNET_PeerIdentity *peer,
     GNUNET_assert (NULL != n->address);
     if (n->address_state == USED)
     {
-      GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
+      GST_validation_set_address_use (n->address, n->session, GNUNET_NO,  __LINE__);
       GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
       n->address_state = UNUSED;
     }
@@ -1802,7 +1802,7 @@ GST_neighbours_session_terminated (const struct GNUNET_PeerIdentity *peer,
   {
     if (n->address_state == USED)
     {
-      GST_validation_set_address_use (n->address, n->session, GNUNET_NO);
+      GST_validation_set_address_use (n->address, n->session, GNUNET_NO,  __LINE__);
       GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_NO);
       n->address_state = UNUSED;
     }
@@ -2469,7 +2469,7 @@ GST_neighbours_handle_connect_ack (const struct GNUNET_MessageHeader *message,
 
   if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address)))
   {
-    GST_validation_set_address_use (n->address, n->session, GNUNET_YES);
+    GST_validation_set_address_use (n->address, n->session, GNUNET_YES,  __LINE__);
     GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES);
     n->address_state = USED;
   }
@@ -2556,7 +2556,7 @@ GST_neighbours_handle_ack (const struct GNUNET_MessageHeader *message,
 
   if ((n->address_state == FRESH) && (0 == GNUNET_HELLO_address_cmp(address, n->address)))
   {
-    GST_validation_set_address_use (n->address, n->session, GNUNET_YES);
+    GST_validation_set_address_use (n->address, n->session, GNUNET_YES,  __LINE__);
     GNUNET_ATS_address_in_use (GST_ats, n->address, n->session, GNUNET_YES);
     n->address_state = USED;
   }
index a6d9424977d15f7ae610a5379eedd329e84a6819..6a13061cc4cfb9e07e510b4d2a2f0b201c34f608 100644 (file)
@@ -1211,13 +1211,16 @@ GST_validation_get_addresses (const struct GNUNET_PeerIdentity *target,
  * @param session the session
  * @param in_use GNUNET_YES if we are now using the address for a connection,
  *               GNUNET_NO if we are no longer using the address for a connection
+ * @param line line of caller just for DEBUGGING!
  */
 void
 GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address,
                                 struct Session *session,
-                                int in_use)
+                                int in_use,
+                                int line)
 {
   struct ValidationEntry *ve;
+  static int last_calling_line = 0;
 
   if (NULL != address)
     ve = find_validation_entry (NULL, address);
@@ -1229,10 +1232,16 @@ GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address,
     return;
   }
   if (ve->in_use == in_use)
+  {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
-                "GST_validation_set_address_use: %s %s: ve->in_use %i <-> in_use %i\n",
-                GNUNET_i2s (&address->peer), GST_plugins_a2s (address), ve->in_use,
-                in_use);
+                "Error setting address in use for peer `%s' `%s': %s -> %s; set last time by %i, called now by %i\n",
+
+                GNUNET_i2s (&address->peer), GST_plugins_a2s (address),
+                (GNUNET_NO == ve->in_use) ? "NOT USED" : "USED",
+                (GNUNET_NO == in_use) ? "NOT USED" : "USED",
+                last_calling_line, line);
+  }
+  last_calling_line = line;
   GNUNET_break (ve->in_use != in_use);  /* should be different... */
   ve->in_use = in_use;
   if (in_use == GNUNET_YES)
index 9b1063be3740d3d05f432c3f1387ada27300e8eb..dd5bcd6bfc5c28410695b1ed64f3e629950db385 100644 (file)
@@ -52,13 +52,16 @@ GST_validation_stop (void);
  * address more or less often.
  *
  * @param address the address
- * @param session session
+ * @param session the session
  * @param in_use GNUNET_YES if we are now using the address for a connection,
  *               GNUNET_NO if we are no longer using the address for a connection
+ * @param line line of caller just for DEBUGGING!
  */
 void
 GST_validation_set_address_use (const struct GNUNET_HELLO_Address *address,
-                                struct Session *session, int in_use);
+                                struct Session *session,
+                                int in_use,
+                                int line);
 
 
 /**