GNUnet  0.20.0
GNUNET_CONTAINER_MultiHashMap Struct Reference

Internal representation of the hash map. More...

Collaboration diagram for GNUNET_CONTAINER_MultiHashMap:
[legend]

Data Fields

union MapEntrymap
 All of our buckets. More...
 
unsigned int size
 Number of entries in the map. More...
 
unsigned int map_length
 Length of the "map" array. More...
 
int use_small_entries
 GNUNET_NO if the map entries are of type 'struct BigMapEntry', GNUNET_YES if the map entries are of type 'struct SmallMapEntry'. More...
 
unsigned int modification_counter
 Counts the destructive modifications (grow, remove) to the map, so that iterators can check if they are still valid. More...
 
union MapEntry next_cache [16]
 Map entries indicating iteration positions currently in use by GNUNET_CONTAINER_multihashmap_get_multiple(). More...
 
unsigned int next_cache_off
 Offset of next_cache entries in use, must be smaller than NEXT_CACHE_SIZE. More...
 

Detailed Description

Internal representation of the hash map.

Definition at line 107 of file container_multihashmap.c.

Field Documentation

◆ map

union MapEntry* GNUNET_CONTAINER_MultiHashMap::map

All of our buckets.

Definition at line 112 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_create().

◆ size

unsigned int GNUNET_CONTAINER_MultiHashMap::size

Number of entries in the map.

Definition at line 117 of file container_multihashmap.c.

◆ map_length

unsigned int GNUNET_CONTAINER_MultiHashMap::map_length

Length of the "map" array.

Definition at line 122 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_create().

◆ use_small_entries

int GNUNET_CONTAINER_MultiHashMap::use_small_entries

GNUNET_NO if the map entries are of type 'struct BigMapEntry', GNUNET_YES if the map entries are of type 'struct SmallMapEntry'.

Definition at line 128 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_create().

◆ modification_counter

unsigned int GNUNET_CONTAINER_MultiHashMap::modification_counter

Counts the destructive modifications (grow, remove) to the map, so that iterators can check if they are still valid.

Definition at line 134 of file container_multihashmap.c.

◆ next_cache

union MapEntry GNUNET_CONTAINER_MultiHashMap::next_cache[16]

Map entries indicating iteration positions currently in use by GNUNET_CONTAINER_multihashmap_get_multiple().

Only used up to next_cache_off.

Definition at line 134 of file container_multihashmap.c.

◆ next_cache_off

unsigned int GNUNET_CONTAINER_MultiHashMap::next_cache_off

Offset of next_cache entries in use, must be smaller than NEXT_CACHE_SIZE.

Definition at line 147 of file container_multihashmap.c.


The documentation for this struct was generated from the following file: