gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r12919 - gnunet/src/dht


From: gnunet
Subject: [GNUnet-SVN] r12919 - gnunet/src/dht
Date: Wed, 8 Sep 2010 11:59:32 +0200

Author: nevans
Date: 2010-09-08 11:59:32 +0200 (Wed, 08 Sep 2010)
New Revision: 12919

Modified:
   gnunet/src/dht/gnunet-service-dht.c
Log:
assert in dht to help track down bug

Modified: gnunet/src/dht/gnunet-service-dht.c
===================================================================
--- gnunet/src/dht/gnunet-service-dht.c 2010-09-08 09:41:59 UTC (rev 12918)
+++ gnunet/src/dht/gnunet-service-dht.c 2010-09-08 09:59:32 UTC (rev 12919)
@@ -2846,8 +2846,16 @@
       fprintf(stdout, "Sum is %f\n", sum);
 #endif
 
-      real_selected = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 
total_real_distance);
-      selected = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 
total_distance);
+      if (use_real_distance)
+        {
+          GNUNET_assert(total_real_distance != 0);
+          real_selected = GNUNET_CRYPTO_random_u32 
(GNUNET_CRYPTO_QUALITY_WEAK, total_real_distance);
+        }
+      else
+        {
+          GNUNET_assert(total_distance != 0);
+          selected = GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_WEAK, 
total_distance);
+        }
 
       for (bc = lowest_bucket; bc < MAX_BUCKETS; bc++)
         {
@@ -2863,7 +2871,7 @@
                     distance = inverse_distance (target, &pos->id.hashPubKey);
                     if (distance > real_selected)
                       {
-                        GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Selected peer 
with %u matching bits to route to\n", distance);
+                        GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "(REAL) Selected 
peer with %u matching bits to route to\n", matching_bits(target, 
&pos->id.hashPubKey));
                         return pos;
                       }
                     real_selected -= distance;
@@ -2873,7 +2881,7 @@
                       distance = 1 + (matching_bits(target, 
&pos->id.hashPubKey) * matching_bits(target, &pos->id.hashPubKey));
                       if (distance > selected)
                         {
-                          GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Selected peer 
with %u matching bits to route to\n", distance);
+                          GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Selected peer 
with %u matching bits to route to\n", matching_bits(target, 
&pos->id.hashPubKey));
                           return pos;
                         }
                       selected -= distance;




reply via email to

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