Lines Matching full:table

41  * The hash table keeps a maximum memory size. Old entries are removed
48 * so that the next thread can access the lookup table.
145 * Hash table that keeps LRU list of entries.
150 /** the size function for entries in this table */
152 /** the compare function for entries in this table. */
175 /** the number of entries in the hash table. */
179 /** the amount of space the hash table is maximally allowed to use. */
199 * An entry into the hash table.
228 * Create new hash table.
230 * @param maxmem: maximum amount of memory this table is allowed to use.
238 * @return: new hash table or NULL on malloc failure.
246 * Delete hash table. Entries are all deleted.
247 * @param table: to delete.
249 void lruhash_delete(struct lruhash* table);
252 * Clear hash table. Entries are all deleted, while locking them before
253 * doing so. At end the table is empty.
254 * @param table: to make empty.
256 void lruhash_clear(struct lruhash* table);
265 * @param table: hash table.
274 void lruhash_insert(struct lruhash* table, hashvalue_type hash,
281 * @param table: hash table.
290 struct lruhash_entry* lruhash_lookup(struct lruhash* table,
295 * Caller must hold hash table lock. The entry must be inserted already.
296 * @param table: hash table.
299 void lru_touch(struct lruhash* table, struct lruhash_entry* entry);
304 void lruhash_setmarkdel(struct lruhash* table, lruhash_markdelfunc_type md);
309 * @param table: hash table.
311 * @param diff_size: difference in size to the hash table storage.
314 void lruhash_update_space_used(struct lruhash* table, void* cb_override,
320 * @param table: hash table.
324 void lruhash_update_space_max(struct lruhash* table, void* cb_override,
332 * Caller must hold hash table lock. The entry must be inserted already.
333 * @param table: hash table.
336 void lru_demote(struct lruhash* table, struct lruhash_entry* entry);
348 * @param table: hash table.
356 struct lruhash_entry* lruhash_insert_or_retrieve(struct lruhash* table, hashvalue_type hash,
365 * @param table: hash table.
369 void lruhash_remove(struct lruhash* table, hashvalue_type hash, void* key);
371 /** init the hash bins for the table */
375 void bin_delete(struct lruhash* table, struct lruhash_bin* bin);
379 * @param table: hash table with function pointers.
386 struct lruhash_entry* bin_find_entry(struct lruhash* table,
400 * Caller must hold hash table lock.
404 * @param table: hash table with function pointers.
408 void bin_split(struct lruhash* table, struct lruhash_bin* newa,
415 * @param table: hash table.
417 * Entries have been removed from the hash table and writelock is held.
419 void reclaim_space(struct lruhash* table, struct lruhash_entry** list);
422 * Grow the table lookup array. Becomes twice as large.
423 * Caller must hold the hash table lock. Must not hold any bin locks.
425 * @param table: hash table.
427 void table_grow(struct lruhash* table);
431 * Caller must hold hash table lock.
432 * @param table: hash table with lru head and tail.
435 void lru_front(struct lruhash* table, struct lruhash_entry* entry);
439 * Caller must hold hash table lock.
440 * @param table: hash table with lru head and tail.
443 void lru_remove(struct lruhash* table, struct lruhash_entry* entry);
446 * Output debug info to the log as to state of the hash table.
447 * @param table: hash table.
448 * @param id: string printed with table to identify the hash table.
451 void lruhash_status(struct lruhash* table, const char* id, int extended);
454 * Get memory in use now by the lruhash table.
455 * @param table: hash table. Will be locked before use. And unlocked after.
458 size_t lruhash_get_mem(struct lruhash* table);
461 * Traverse a lruhash. Call back for every element in the table.
462 * @param h: hash table. Locked before use.