GNUnet 0.21.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 106 of file container_multihashmap.c.

Field Documentation

◆ map

union MapEntry* GNUNET_CONTAINER_MultiHashMap::map

◆ size

unsigned int GNUNET_CONTAINER_MultiHashMap::size

Number of entries in the map.

Definition at line 116 of file container_multihashmap.c.

◆ map_length

unsigned int GNUNET_CONTAINER_MultiHashMap::map_length

Length of the "map" array.

Definition at line 121 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_create(), and GNUNET_CONTAINER_multihashmap_iterator_next().

◆ 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 127 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_create(), and GNUNET_CONTAINER_multihashmap_iterator_next().

◆ 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 133 of file container_multihashmap.c.

Referenced by GNUNET_CONTAINER_multihashmap_iterator_next().

◆ 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 140 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 146 of file container_multihashmap.c.


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