@@ -845,7 +845,9 @@ typedef struct RedisModuleDefragCtx RedisModuleDefragCtx;
845845 * exposed since you can't cast a function pointer to (void *). */
846846typedef void (* RedisModuleInfoFunc )(RedisModuleInfoCtx * ctx , int for_crash_report );
847847typedef void (* RedisModuleDefragFunc )(RedisModuleDefragCtx * ctx );
848+ typedef int (* RedisModuleDefragFunc2 )(RedisModuleDefragCtx * ctx );
848849typedef void (* RedisModuleUserChangedFunc ) (uint64_t client_id , void * privdata );
850+ typedef void * (* RedisModuleDefragDictValueCallback )(RedisModuleDefragCtx * ctx , void * data , unsigned char * key , size_t keylen );
849851
850852/* ------------------------- End of common defines ------------------------ */
851853
@@ -1314,11 +1316,13 @@ REDISMODULE_API int *(*RedisModule_GetCommandKeys)(RedisModuleCtx *ctx, RedisMod
13141316REDISMODULE_API int * (* RedisModule_GetCommandKeysWithFlags )(RedisModuleCtx * ctx , RedisModuleString * * argv , int argc , int * num_keys , int * * out_flags ) REDISMODULE_ATTR ;
13151317REDISMODULE_API const char * (* RedisModule_GetCurrentCommandName )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
13161318REDISMODULE_API int (* RedisModule_RegisterDefragFunc )(RedisModuleCtx * ctx , RedisModuleDefragFunc func ) REDISMODULE_ATTR ;
1319+ REDISMODULE_API int (* RedisModule_RegisterDefragFunc2 )(RedisModuleCtx * ctx , RedisModuleDefragFunc2 func ) REDISMODULE_ATTR ;
13171320REDISMODULE_API int (* RedisModule_RegisterDefragCallbacks )(RedisModuleCtx * ctx , RedisModuleDefragFunc start , RedisModuleDefragFunc end ) REDISMODULE_ATTR ;
13181321REDISMODULE_API void * (* RedisModule_DefragAlloc )(RedisModuleDefragCtx * ctx , void * ptr ) REDISMODULE_ATTR ;
13191322REDISMODULE_API void * (* RedisModule_DefragAllocRaw )(RedisModuleDefragCtx * ctx , size_t size ) REDISMODULE_ATTR ;
13201323REDISMODULE_API void (* RedisModule_DefragFreeRaw )(RedisModuleDefragCtx * ctx , void * ptr ) REDISMODULE_ATTR ;
13211324REDISMODULE_API RedisModuleString * (* RedisModule_DefragRedisModuleString )(RedisModuleDefragCtx * ctx , RedisModuleString * str ) REDISMODULE_ATTR ;
1325+ REDISMODULE_API RedisModuleDict * (* RedisModule_DefragRedisModuleDict )(RedisModuleDefragCtx * ctx , RedisModuleDict * dict , RedisModuleDefragDictValueCallback valueCB , RedisModuleString * * seekTo ) REDISMODULE_ATTR ;
13221326REDISMODULE_API int (* RedisModule_DefragShouldStop )(RedisModuleDefragCtx * ctx ) REDISMODULE_ATTR ;
13231327REDISMODULE_API int (* RedisModule_DefragCursorSet )(RedisModuleDefragCtx * ctx , unsigned long cursor ) REDISMODULE_ATTR ;
13241328REDISMODULE_API int (* RedisModule_DefragCursorGet )(RedisModuleDefragCtx * ctx , unsigned long * cursor ) REDISMODULE_ATTR ;
@@ -1691,11 +1695,13 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
16911695 REDISMODULE_GET_API (GetCommandKeysWithFlags );
16921696 REDISMODULE_GET_API (GetCurrentCommandName );
16931697 REDISMODULE_GET_API (RegisterDefragFunc );
1698+ REDISMODULE_GET_API (RegisterDefragFunc2 );
16941699 REDISMODULE_GET_API (RegisterDefragCallbacks );
16951700 REDISMODULE_GET_API (DefragAlloc );
16961701 REDISMODULE_GET_API (DefragAllocRaw );
16971702 REDISMODULE_GET_API (DefragFreeRaw );
16981703 REDISMODULE_GET_API (DefragRedisModuleString );
1704+ REDISMODULE_GET_API (DefragRedisModuleDict );
16991705 REDISMODULE_GET_API (DefragShouldStop );
17001706 REDISMODULE_GET_API (DefragCursorSet );
17011707 REDISMODULE_GET_API (DefragCursorGet );
0 commit comments