From cb85aa8a8d02a3d6dc16e3f32e78da9e70f9c7f5 Mon Sep 17 00:00:00 2001 From: wangzhengquan <wangzhengquan85@126.com> Date: 星期二, 02 二月 2021 17:49:21 +0800 Subject: [PATCH] update --- src/shm/hashtable.h | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/shm/hashtable.h b/src/shm/hashtable.h index ea4dc64..47b715b 100755 --- a/src/shm/hashtable.h +++ b/src/shm/hashtable.h @@ -5,15 +5,15 @@ #include <functional> #include <set> -#define MAPSIZE 100 +#define MAPSIZE 1024 typedef struct hashtable_t { struct tailq_header_t* array[MAPSIZE]; int mutex; - int wlock; - int cond; - size_t readcnt; + // int wlock; + // int cond; + // size_t readcnt; } hashtable_t; typedef void (*hashtable_foreach_cb)(int key, void *value); @@ -21,10 +21,14 @@ void hashtable_init(hashtable_t *hashtable); void hashtable_destroy(hashtable_t *hashtable); void *hashtable_get(hashtable_t *hashtable, int key); -void hashtable_put(hashtable_t *hashtable, int key, void *value); +void hashtable_put(hashtable_t *hashtable, int key, void *value) ; +bool hashtable_check_put(hashtable_t *hashtable, int key, void *value, bool overwrite) ; + void *hashtable_remove(hashtable_t *hashtable, int key); void hashtable_removeall(hashtable_t *hashtable); +int hashtable_lock(hashtable_t *hashtable); +int hashtable_unlock(hashtable_t *hashtable); /** * 閬嶅巻hash_table * @demo -- Gitblit v1.8.0