- added check against statistics
[oweals/gnunet.git] / src / block / plugin_block_test.c
index b5c03eea948556244d35299e26c7bcfa893fc025..08d3096dc24bfa8c4668be0345d254aa4f6553d5 100644 (file)
@@ -28,7 +28,7 @@
 #include "platform.h"
 #include "gnunet_block_plugin.h"
 
-#define DEBUG_TEST GNUNET_NO
+#define DEBUG_TEST GNUNET_EXTRA_LOGGING
 
 
 /**
  * @return characterization of result
  */
 static enum GNUNET_BLOCK_EvaluationResult
-block_plugin_test_evaluate (void *cls,
-                            enum GNUNET_BLOCK_Type type,
+block_plugin_test_evaluate (void *cls, enum GNUNET_BLOCK_Type type,
                             const GNUNET_HashCode * query,
                             struct GNUNET_CONTAINER_BloomFilter **bf,
-                            int32_t bf_mutator,
-                            const void *xquery,
-                            size_t xquery_size,
-                            const void *reply_block, size_t reply_block_size)
+                            int32_t bf_mutator, const void *xquery,
+                            size_t xquery_size, const void *reply_block,
+                            size_t reply_block_size)
 {
   GNUNET_HashCode chash;
   GNUNET_HashCode mhash;
@@ -72,18 +70,21 @@ block_plugin_test_evaluate (void *cls,
   if (reply_block_size == 0)
     return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
 
-  GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash);
-  GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash);
-  if (NULL != *bf)
+  if (NULL != bf)
   {
-    if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
-      return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
+    GNUNET_CRYPTO_hash (reply_block, reply_block_size, &chash);
+    GNUNET_BLOCK_mingle_hash (&chash, bf_mutator, &mhash);
+    if (NULL != *bf)
+    {
+      if (GNUNET_YES == GNUNET_CONTAINER_bloomfilter_test (*bf, &mhash))
+        return GNUNET_BLOCK_EVALUATION_OK_DUPLICATE;
+    }
+    else
+    {
+      *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K);
+    }
+    GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
   }
-  else
-  {
-    *bf = GNUNET_CONTAINER_bloomfilter_init (NULL, 8, BLOOMFILTER_K);
-  }
-  GNUNET_CONTAINER_bloomfilter_add (*bf, &mhash);
   return GNUNET_BLOCK_EVALUATION_OK_MORE;
 }
 
@@ -100,10 +101,9 @@ block_plugin_test_evaluate (void *cls,
  *         (or if extracting a key from a block of this type does not work)
  */
 static int
-block_plugin_test_get_key (void *cls,
-                           enum GNUNET_BLOCK_Type type,
-                           const void *block,
-                           size_t block_size, GNUNET_HashCode * key)
+block_plugin_test_get_key (void *cls, enum GNUNET_BLOCK_Type type,
+                           const void *block, size_t block_size,
+                           GNUNET_HashCode * key)
 {
   /* always fails since there is no fixed relationship between
    * keys and values for test values */