DBusHashTable Struct Reference
[Hash table implementation details]

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 167 of file dbus-hash.c.


Field Documentation

DBusHashEntry** DBusHashTable::buckets

Pointer to bucket array.

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

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

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

int DBusHashTable::down_shift

Shift count used in hashing function.

Designed to use high- order bits of randomized keys.

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

Referenced by _dbus_hash_table_new().


The documentation for this struct was generated from the following file:
Generated on Tue Apr 15 15:54:13 2008 for D-Bus by  doxygen 1.5.1