*/
struct DHTResults
{
- /*
+ /**
* Min heap for removal upon reaching limit
*/
struct GNUNET_CONTAINER_Heap *minHeap;
- /*
+
+ /**
* Hashmap for fast key based lookup
*/
struct GNUNET_CONTAINER_MultiHashMap *hashmap;
-
};
*/
struct RecentRequests
{
- /*
+ /**
* Min heap for removal upon reaching limit
*/
struct GNUNET_CONTAINER_Heap *minHeap;
- /*
+#if HAVE_UID_FOR_TESTING > 1
+ /**
* Hashmap for key based lookup
*/
struct GNUNET_CONTAINER_MultiHashMap *hashmap;
+#endif
+
};
GNUNET_assert (req != NULL);
hash_from_uid (req->uid, &hash);
+#if HAVE_UID_FOR_TESTING > 1
GNUNET_assert (GNUNET_YES ==
GNUNET_CONTAINER_multihashmap_remove (recent.hashmap, &hash,
req));
+#endif
GNUNET_CONTAINER_heap_remove_node (req->heap_node);
GNUNET_CONTAINER_bloomfilter_free (req->bloom);
GNUNET_free (req);
unsigned int target_forward_count;
unsigned int forward_count;
struct RecentRequest *recent_req;
+#if HAVE_UID_FOR_TESTING > 1
GNUNET_HashCode unique_hash;
+#endif
char *stat_forward_count;
char *temp_stat_str;
GNUNET_CONTAINER_bloomfilter_add (msg_ctx->bloom, &my_identity.hashPubKey);
+#if HAVE_UID_FOR_TESTING > 1
/* BUG HERE: recent uses unique_id! So if all unique-IDs are 0, we get
- easily into trouble!!! FIXME! */
+ easily into trouble!!! Also, this should not even be necessary... */
hash_from_uid (msg_ctx->unique_id, &unique_hash);
if (GNUNET_YES ==
GNUNET_CONTAINER_multihashmap_contains (recent.hashmap, &unique_hash))
}
}
else
+#endif
{
recent_req = GNUNET_malloc (sizeof (struct RecentRequest));
recent_req->uid = msg_ctx->unique_id;
GNUNET_TIME_absolute_get ().abs_value);
recent_req->bloom =
GNUNET_CONTAINER_bloomfilter_init (NULL, DHT_BLOOM_SIZE, DHT_BLOOM_K);
+#if HAVE_UID_FOR_TESTING > 1
GNUNET_CONTAINER_multihashmap_put (recent.hashmap, &unique_hash, recent_req,
- GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+ GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY);
+#endif
}
- if (GNUNET_CONTAINER_multihashmap_size (recent.hashmap) > DHT_MAX_RECENT)
+ if (GNUNET_CONTAINER_heap_get_size (recent.minHeap) > DHT_MAX_RECENT)
{
recent_req = GNUNET_CONTAINER_heap_peek (recent.minHeap);
GNUNET_assert (recent_req != NULL);
{
int ret;
+#if HAVE_UID_FOR_TESTING > 1
recent.hashmap = GNUNET_CONTAINER_multihashmap_create (DHT_MAX_RECENT / 2);
+#endif
recent.minHeap =
GNUNET_CONTAINER_heap_create (GNUNET_CONTAINER_HEAP_ORDER_MIN);
recent_find_peer_requests =
(GNUNET_OK ==
GNUNET_SERVICE_run (argc, argv, "dht", GNUNET_SERVICE_OPTION_NONE, &run,
NULL)) ? 0 : 1;
+#if HAVE_UID_FOR_TESTING > 1
GNUNET_assert (0 == GNUNET_CONTAINER_multihashmap_size (recent.hashmap));
GNUNET_CONTAINER_multihashmap_destroy (recent.hashmap);
recent.hashmap = NULL;
+#endif
GNUNET_assert (0 == GNUNET_CONTAINER_heap_get_size (recent.minHeap));
GNUNET_CONTAINER_heap_destroy (recent.minHeap);
recent.minHeap = NULL;