Struct hashmap_space_mgmt

Struct Documentation

struct hashmap_space_mgmt

Simple convenience struct for the space for hashmap data.

Element space is chunked into 3 parts (in order):

  • An allocation map of data blocks (array of max_elts ints)

  • Datablock array (max_elts * elt_size)

  • Metadata array of hashnode

Meta space from hashmap_params::meta is used for the darray handles (buckets).

Public Members

dptr_t *elements

Raw pointer to space for elements.

struct allocm_entry *db_map
dptr_t *datablocks
struct hashnode *hashnodes
struct darray *buckets

Dynamic arrays that will be set to a fixed size during initialization. Each bucket holds hashnodes.

uint8_t *nodes

Raw space for the darray objects used to manage the data.