2 * mono-conc-hashtable.h: A mostly concurrent hashtable
5 * Rodrigo Kumpera (kumpera@gmail.com)
10 #ifndef __MONO_CONCURRENT_HASHTABLE_H__
11 #define __MONO_CONCURRENT_HASHTABLE_H__
13 #include <mono/utils/mono-compiler.h>
14 #include <mono/utils/mono-mutex.h>
17 typedef struct _MonoConcurrentHashTable MonoConcurrentHashTable;
19 MonoConcurrentHashTable* mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func);
20 MonoConcurrentHashTable* mono_conc_hashtable_new_full (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);
21 void mono_conc_hashtable_destroy (MonoConcurrentHashTable *hash_table);
22 gpointer mono_conc_hashtable_lookup (MonoConcurrentHashTable *hash_table, gpointer key);
23 gpointer mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, gpointer value);
24 gpointer mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key);