improve zarray_iter

This commit is contained in:
Rongsong Shen 2025-12-17 11:06:58 +08:00
parent 05abed1964
commit e85ce0e5ad
12 changed files with 72 additions and 75 deletions

View file

@ -16,9 +16,9 @@ typedef struct {
extern int kvmgr_init(kvmgr_t*, hash_key_fn_t, int, int, zarray_item_killer_t);
extern void kvmgr_fini(kvmgr_t*);
extern void* kvmgr_lock(kvmgr_t*, void*, int);
extern void* kvmgr_lock_byid(kvmgr_t*, int, int);
extern int32_t kvmgr_add(kvmgr_t*, void*, void*);
extern void kvmgr_del(kvmgr_t*, void*);
extern int kvmgr_publish(kvmgr_t*, xlist_action_fn_t, void*);
extern int kvmgr_iter(kvmgr_t*, xlist_t*, void*);
extern int kvmgr_iter(kvmgr_t*, zarray_iter_skip_fn_t, xlist_t*, void*);
#endif

View file

@ -7,6 +7,7 @@
typedef void (*zarray_item_killer_t)(void*);
typedef int (*zarray_iter_fn_t)(void*, void*);
typedef int (*zarray_iter_skip_fn_t)(void*);
typedef struct {
mylock_t lock;
@ -21,7 +22,7 @@ typedef struct {
extern int zarray_init(zarray_t*, int, zarray_item_killer_t);
extern int zarray_store(zarray_t*, void*);
extern int zarray_clear(zarray_t*, int);
extern int zarray_iter_ex(zarray_t*, xlist_t*, void*);
extern int zarray_iter_ex(zarray_t*, zarray_iter_skip_fn_t, xlist_t*, void*);
extern int zarray_iter(zarray_t*, zarray_iter_fn_t, void*);
extern int zarray_del(zarray_t*, int);
extern int zarray_put(zarray_t*, int, void*);