D-Bus 1.16.0
Data Fields

Internals of DBusHashTable. More...

Data Fields

int refcount
 Reference count.
 
DBusHashEntry ** buckets
 Pointer to bucket array.
 
DBusHashEntrystatic_buckets [DBUS_SMALL_HASH_TABLE]
 Bucket array used for small tables (to avoid mallocs and frees).
 
int n_buckets
 Total number of buckets allocated at **buckets.
 
int n_entries
 Total number of entries present in table.
 
int hi_rebuild_size
 Enlarge table when n_entries gets to be this large.
 
int lo_rebuild_size
 Shrink table when n_entries gets below this.
 
int down_shift
 Shift count used in hashing function.
 
int mask
 Mask value used in hashing function.
 
DBusHashType key_type
 Type of keys used in this table.
 
DBusFindEntryFunction find_function
 Function for finding entries.
 
DBusFreeFunction free_key_function
 Function to free keys.
 
DBusFreeFunction free_value_function
 Function to free values.
 
DBusMemPoolentry_pool
 Memory pool for hash entries.
 

Detailed Description

Internals of DBusHashTable.

Hash table internals. Hash tables are opaque objects, they must be used via accessor functions.

Definition at line 175 of file dbus-hash.c.

Field Documentation

◆ buckets

DBusHashEntry** DBusHashTable::buckets

Pointer to bucket array.

Each element points to first entry in bucket's hash chain, or NULL.

Definition at line 178 of file dbus-hash.c.

Referenced by _dbus_hash_iter_lookup(), _dbus_hash_iter_next(), _dbus_hash_table_new(), and _dbus_hash_table_unref().

◆ down_shift

int DBusHashTable::down_shift

Shift count used in hashing function.

Designed to use high- order bits of randomized keys.

Definition at line 198 of file dbus-hash.c.

Referenced by _dbus_hash_table_new().

◆ entry_pool

DBusMemPool* DBusHashTable::entry_pool

Memory pool for hash entries.

Definition at line 213 of file dbus-hash.c.

Referenced by _dbus_hash_table_free_preallocated_entry(), _dbus_hash_table_new(), and _dbus_hash_table_unref().

◆ find_function

DBusFindEntryFunction DBusHashTable::find_function

◆ free_key_function

DBusFreeFunction DBusHashTable::free_key_function

◆ free_value_function

DBusFreeFunction DBusHashTable::free_value_function

◆ hi_rebuild_size

int DBusHashTable::hi_rebuild_size

Enlarge table when n_entries gets to be this large.

Definition at line 192 of file dbus-hash.c.

Referenced by _dbus_hash_table_new().

◆ key_type

DBusHashType DBusHashTable::key_type

◆ lo_rebuild_size

int DBusHashTable::lo_rebuild_size

Shrink table when n_entries gets below this.

Definition at line 195 of file dbus-hash.c.

Referenced by _dbus_hash_table_new().

◆ mask

int DBusHashTable::mask

Mask value used in hashing function.

Definition at line 202 of file dbus-hash.c.

Referenced by _dbus_hash_table_new().

◆ n_buckets

int DBusHashTable::n_buckets

Total number of buckets allocated at **buckets.

Definition at line 186 of file dbus-hash.c.

Referenced by _dbus_hash_iter_lookup(), _dbus_hash_iter_next(), _dbus_hash_table_new(), and _dbus_hash_table_unref().

◆ n_entries

int DBusHashTable::n_entries

Total number of entries present in table.

Definition at line 189 of file dbus-hash.c.

Referenced by _dbus_hash_iter_init(), _dbus_hash_iter_lookup(), _dbus_hash_iter_next(), _dbus_hash_table_get_n_entries(), and _dbus_hash_table_new().

◆ refcount

int DBusHashTable::refcount

Reference count.

Definition at line 176 of file dbus-hash.c.

Referenced by _dbus_hash_table_new(), _dbus_hash_table_ref(), and _dbus_hash_table_unref().

◆ static_buckets

DBusHashEntry* DBusHashTable::static_buckets[DBUS_SMALL_HASH_TABLE]

Bucket array used for small tables (to avoid mallocs and frees).

Definition at line 182 of file dbus-hash.c.

Referenced by _dbus_hash_table_new(), and _dbus_hash_table_unref().


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