a version of hash map implemented in container_multihashmap.c but with uint32_t as keys More...
Go to the source code of this file.
Data Structures | |
union | MapEntry |
Entry in the map. More... | |
struct | GNUNET_CONTAINER_MultiHashMap32 |
Internal representation of the hash map. More... | |
struct | GNUNET_CONTAINER_MultiHashMap32Iterator |
Cursor into a multihashmap. More... | |
Macros | |
#define | LOG(kind, ...) GNUNET_log_from (kind, "util-container-multihashmap32", __VA_ARGS__) |
#define | NEXT_CACHE_SIZE 16 |
Maximum recursion depth for callbacks of GNUNET_CONTAINER_multihashmap_get_multiple() themselves again calling GNUNET_CONTAINER_multihashmap_get_multiple(). More... | |
a version of hash map implemented in container_multihashmap.c but with uint32_t as keys
Definition in file container_multihashmap32.c.
#define LOG | ( | kind, | |
... | |||
) | GNUNET_log_from (kind, "util-container-multihashmap32", __VA_ARGS__) |
Definition at line 32 of file container_multihashmap32.c.
#define NEXT_CACHE_SIZE 16 |
Maximum recursion depth for callbacks of GNUNET_CONTAINER_multihashmap_get_multiple() themselves again calling GNUNET_CONTAINER_multihashmap_get_multiple().
Should be totally excessive, but if violated we die.
Definition at line 42 of file container_multihashmap32.c.
|
static |
Compute the index of the bucket for the given key.
m | hash map for which to compute the index |
key | what key should the index be computed for |
Definition at line 192 of file container_multihashmap32.c.
References GNUNET_assert, key, and m.
Referenced by GNUNET_CONTAINER_multihashmap32_contains(), GNUNET_CONTAINER_multihashmap32_contains_value(), GNUNET_CONTAINER_multihashmap32_get(), GNUNET_CONTAINER_multihashmap32_get_multiple(), GNUNET_CONTAINER_multihashmap32_put(), GNUNET_CONTAINER_multihashmap32_remove(), GNUNET_CONTAINER_multihashmap32_remove_all(), and grow().
|
static |
We are about to free() the me, make sure it is not in the list of next values for any iterator in the map's next_cache.
map | the map to check |
me | the entry that is about to be free'd |
Definition at line 270 of file container_multihashmap32.c.
References map, me, GNUNET_CONTAINER_MultiPeerMap::next_cache, and GNUNET_CONTAINER_MultiPeerMap::next_cache_off.
Referenced by GNUNET_CONTAINER_multihashmap32_remove(), and GNUNET_CONTAINER_multihashmap32_remove_all().
|
static |
Grow the given map to a more appropriate size.
map | the hash map to grow |
Definition at line 400 of file container_multihashmap32.c.
References GNUNET_free, GNUNET_malloc_large, idx_of(), MapEntry::key, GNUNET_CONTAINER_MultiPeerMap::map, map, GNUNET_CONTAINER_MultiPeerMap::map_length, GNUNET_CONTAINER_MultiPeerMap::modification_counter, and MapEntry::next.
Referenced by GNUNET_CONTAINER_multihashmap32_put().