/**
* @ingroup bloomfilter
- * Iterator over struct GNUNET_HashCodes.
+ * Iterator over `struct GNUNET_HashCode`.
*
* @param cls closure
* @param next set to the next hash code
* @return #GNUNET_YES if next was updated
* #GNUNET_NO if there are no more entries
*/
-typedef int (*GNUNET_HashCodeIterator) (void *cls,
+typedef int (*GNUNET_CONTAINER_HashCodeIterator) (void *cls,
struct GNUNET_HashCode *next);
GNUNET_CONTAINER_bloomfilter_free (struct GNUNET_CONTAINER_BloomFilter *bf);
+/**
+ * Get the number of the addresses set per element in the bloom filter.
+ *
+ * @param bf the filter
+ * @return addresses set per element in the bf
+ */
+size_t
+GNUNET_CONTAINER_bloomfilter_get_element_addresses (const struct GNUNET_CONTAINER_BloomFilter *bf);
+
/**
* @ingroup bloomfilter
* Get size of the bloom filter.
*/
void
GNUNET_CONTAINER_bloomfilter_resize (struct GNUNET_CONTAINER_BloomFilter *bf,
- GNUNET_HashCodeIterator iterator,
+ GNUNET_CONTAINER_HashCodeIterator iterator,
void *iterator_cls, size_t size,
unsigned int k);
*/
int
GNUNET_CONTAINER_multihashmap_put (struct GNUNET_CONTAINER_MultiHashMap *map,
- const struct GNUNET_HashCode * key, void *value,
+ const struct GNUNET_HashCode *key,
+ void *value,
enum GNUNET_CONTAINER_MultiHashMapOption
opt);
void *value);
+struct GNUNET_CONTAINER_MultiPeerMap;
/**
* @ingroup hashmap
* Create a multi peer map (hash map for public keys of peers).
void *it_cls);
+struct GNUNET_CONTAINER_MultiPeerMapIterator;
/**
* @ingroup hashmap
* Create an iterator for a multihashmap.
GNUNET_CONTAINER_SLIST_DISPOSITION_DYNAMIC = 4
};
+struct GNUNET_CONTAINER_SList_Elem;
/**