@@ -845,7 +845,9 @@ typedef struct RedisModuleDefragCtx RedisModuleDefragCtx;
845
845
* exposed since you can't cast a function pointer to (void *). */
846
846
typedef void (* RedisModuleInfoFunc )(RedisModuleInfoCtx * ctx , int for_crash_report );
847
847
typedef void (* RedisModuleDefragFunc )(RedisModuleDefragCtx * ctx );
848
+ typedef int (* RedisModuleDefragFunc2 )(RedisModuleDefragCtx * ctx );
848
849
typedef void (* RedisModuleUserChangedFunc ) (uint64_t client_id , void * privdata );
850
+ typedef void * (* RedisModuleDefragDictValueCallback )(RedisModuleDefragCtx * ctx , void * data , unsigned char * key , size_t keylen );
849
851
850
852
/* ------------------------- End of common defines ------------------------ */
851
853
@@ -1314,11 +1316,13 @@ REDISMODULE_API int *(*RedisModule_GetCommandKeys)(RedisModuleCtx *ctx, RedisMod
1314
1316
REDISMODULE_API int * (* RedisModule_GetCommandKeysWithFlags )(RedisModuleCtx * ctx , RedisModuleString * * argv , int argc , int * num_keys , int * * out_flags ) REDISMODULE_ATTR ;
1315
1317
REDISMODULE_API const char * (* RedisModule_GetCurrentCommandName )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
1316
1318
REDISMODULE_API int (* RedisModule_RegisterDefragFunc )(RedisModuleCtx * ctx , RedisModuleDefragFunc func ) REDISMODULE_ATTR ;
1319
+ REDISMODULE_API int (* RedisModule_RegisterDefragFunc2 )(RedisModuleCtx * ctx , RedisModuleDefragFunc2 func ) REDISMODULE_ATTR ;
1317
1320
REDISMODULE_API int (* RedisModule_RegisterDefragCallbacks )(RedisModuleCtx * ctx , RedisModuleDefragFunc start , RedisModuleDefragFunc end ) REDISMODULE_ATTR ;
1318
1321
REDISMODULE_API void * (* RedisModule_DefragAlloc )(RedisModuleDefragCtx * ctx , void * ptr ) REDISMODULE_ATTR ;
1319
1322
REDISMODULE_API void * (* RedisModule_DefragAllocRaw )(RedisModuleDefragCtx * ctx , size_t size ) REDISMODULE_ATTR ;
1320
1323
REDISMODULE_API void (* RedisModule_DefragFreeRaw )(RedisModuleDefragCtx * ctx , void * ptr ) REDISMODULE_ATTR ;
1321
1324
REDISMODULE_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 ;
1322
1326
REDISMODULE_API int (* RedisModule_DefragShouldStop )(RedisModuleDefragCtx * ctx ) REDISMODULE_ATTR ;
1323
1327
REDISMODULE_API int (* RedisModule_DefragCursorSet )(RedisModuleDefragCtx * ctx , unsigned long cursor ) REDISMODULE_ATTR ;
1324
1328
REDISMODULE_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
1691
1695
REDISMODULE_GET_API (GetCommandKeysWithFlags );
1692
1696
REDISMODULE_GET_API (GetCurrentCommandName );
1693
1697
REDISMODULE_GET_API (RegisterDefragFunc );
1698
+ REDISMODULE_GET_API (RegisterDefragFunc2 );
1694
1699
REDISMODULE_GET_API (RegisterDefragCallbacks );
1695
1700
REDISMODULE_GET_API (DefragAlloc );
1696
1701
REDISMODULE_GET_API (DefragAllocRaw );
1697
1702
REDISMODULE_GET_API (DefragFreeRaw );
1698
1703
REDISMODULE_GET_API (DefragRedisModuleString );
1704
+ REDISMODULE_GET_API (DefragRedisModuleDict );
1699
1705
REDISMODULE_GET_API (DefragShouldStop );
1700
1706
REDISMODULE_GET_API (DefragCursorSet );
1701
1707
REDISMODULE_GET_API (DefragCursorGet );
0 commit comments