@@ -886,6 +886,7 @@ typedef struct RedisModuleServerInfoData RedisModuleServerInfoData;
886886typedef struct RedisModuleScanCursor RedisModuleScanCursor ;
887887typedef struct RedisModuleUser RedisModuleUser ;
888888typedef struct RedisModuleKeyOptCtx RedisModuleKeyOptCtx ;
889+ typedef struct RedisModuleRdbStream RedisModuleRdbStream ;
889890
890891typedef int (* RedisModuleCmdFunc )(RedisModuleCtx * ctx , RedisModuleString * * argv , int argc );
891892typedef void (* RedisModuleDisconnectFunc )(RedisModuleCtx * ctx , RedisModuleBlockedClient * bc );
@@ -967,14 +968,18 @@ typedef struct RedisModuleTypeMethods {
967968REDISMODULE_API void * (* RedisModule_Alloc )(size_t bytes ) REDISMODULE_ATTR ;
968969REDISMODULE_API void * (* RedisModule_TryAlloc )(size_t bytes ) REDISMODULE_ATTR ;
969970REDISMODULE_API void * (* RedisModule_Realloc )(void * ptr , size_t bytes ) REDISMODULE_ATTR ;
971+ REDISMODULE_API void * (* RedisModule_TryRealloc )(void * ptr , size_t bytes ) REDISMODULE_ATTR ;
970972REDISMODULE_API void (* RedisModule_Free )(void * ptr ) REDISMODULE_ATTR ;
971973REDISMODULE_API void * (* RedisModule_Calloc )(size_t nmemb , size_t size ) REDISMODULE_ATTR ;
974+ REDISMODULE_API void * (* RedisModule_TryCalloc )(size_t nmemb , size_t size ) REDISMODULE_ATTR ;
972975REDISMODULE_API char * (* RedisModule_Strdup )(const char * str ) REDISMODULE_ATTR ;
973976REDISMODULE_API int (* RedisModule_GetApi )(const char * , void * ) REDISMODULE_ATTR ;
974977REDISMODULE_API int (* RedisModule_CreateCommand )(RedisModuleCtx * ctx , const char * name , RedisModuleCmdFunc cmdfunc , const char * strflags , int firstkey , int lastkey , int keystep ) REDISMODULE_ATTR ;
975978REDISMODULE_API RedisModuleCommand * (* RedisModule_GetCommand )(RedisModuleCtx * ctx , const char * name ) REDISMODULE_ATTR ;
976979REDISMODULE_API int (* RedisModule_CreateSubcommand )(RedisModuleCommand * parent , const char * name , RedisModuleCmdFunc cmdfunc , const char * strflags , int firstkey , int lastkey , int keystep ) REDISMODULE_ATTR ;
977980REDISMODULE_API int (* RedisModule_SetCommandInfo )(RedisModuleCommand * command , const RedisModuleCommandInfo * info ) REDISMODULE_ATTR ;
981+ REDISMODULE_API int (* RedisModule_SetCommandACLCategories )(RedisModuleCommand * command , const char * ctgrsflags ) REDISMODULE_ATTR ;
982+ REDISMODULE_API int (* RedisModule_AddACLCategory )(RedisModuleCtx * ctx , const char * name ) REDISMODULE_ATTR ;
978983REDISMODULE_API void (* RedisModule_SetModuleAttribs )(RedisModuleCtx * ctx , const char * name , int ver , int apiver ) REDISMODULE_ATTR ;
979984REDISMODULE_API int (* RedisModule_IsModuleNameBusy )(const char * name ) REDISMODULE_ATTR ;
980985REDISMODULE_API int (* RedisModule_WrongArity )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
@@ -983,7 +988,7 @@ REDISMODULE_API int (*RedisModule_GetSelectedDb)(RedisModuleCtx *ctx) REDISMODUL
983988REDISMODULE_API int (* RedisModule_SelectDb )(RedisModuleCtx * ctx , int newid ) REDISMODULE_ATTR ;
984989REDISMODULE_API int (* RedisModule_KeyExists )(RedisModuleCtx * ctx , RedisModuleString * keyname ) REDISMODULE_ATTR ;
985990REDISMODULE_API RedisModuleKey * (* RedisModule_OpenKey )(RedisModuleCtx * ctx , RedisModuleString * keyname , int mode ) REDISMODULE_ATTR ;
986- REDISMODULE_API int (* RedisModule_GetOpenKeyModesAll )() REDISMODULE_ATTR ;
991+ REDISMODULE_API int (* RedisModule_GetOpenKeyModesAll )(void ) REDISMODULE_ATTR ;
987992REDISMODULE_API void (* RedisModule_CloseKey )(RedisModuleKey * kp ) REDISMODULE_ATTR ;
988993REDISMODULE_API int (* RedisModule_KeyType )(RedisModuleKey * kp ) REDISMODULE_ATTR ;
989994REDISMODULE_API size_t (* RedisModule_ValueLength )(RedisModuleKey * kp ) REDISMODULE_ATTR ;
@@ -1021,6 +1026,7 @@ REDISMODULE_API RedisModuleString * (*RedisModule_CreateStringPrintf)(RedisModul
10211026REDISMODULE_API void (* RedisModule_FreeString )(RedisModuleCtx * ctx , RedisModuleString * str ) REDISMODULE_ATTR ;
10221027REDISMODULE_API const char * (* RedisModule_StringPtrLen )(const RedisModuleString * str , size_t * len ) REDISMODULE_ATTR ;
10231028REDISMODULE_API int (* RedisModule_ReplyWithError )(RedisModuleCtx * ctx , const char * err ) REDISMODULE_ATTR ;
1029+ REDISMODULE_API int (* RedisModule_ReplyWithErrorFormat )(RedisModuleCtx * ctx , const char * fmt , ...) REDISMODULE_ATTR ;
10241030REDISMODULE_API int (* RedisModule_ReplyWithSimpleString )(RedisModuleCtx * ctx , const char * msg ) REDISMODULE_ATTR ;
10251031REDISMODULE_API int (* RedisModule_ReplyWithArray )(RedisModuleCtx * ctx , long len ) REDISMODULE_ATTR ;
10261032REDISMODULE_API int (* RedisModule_ReplyWithMap )(RedisModuleCtx * ctx , long len ) REDISMODULE_ATTR ;
@@ -1104,7 +1110,7 @@ REDISMODULE_API int (*RedisModule_SetClientNameById)(uint64_t id, RedisModuleStr
11041110REDISMODULE_API int (* RedisModule_PublishMessage )(RedisModuleCtx * ctx , RedisModuleString * channel , RedisModuleString * message ) REDISMODULE_ATTR ;
11051111REDISMODULE_API int (* RedisModule_PublishMessageShard )(RedisModuleCtx * ctx , RedisModuleString * channel , RedisModuleString * message ) REDISMODULE_ATTR ;
11061112REDISMODULE_API int (* RedisModule_GetContextFlags )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
1107- REDISMODULE_API int (* RedisModule_AvoidReplicaTraffic )() REDISMODULE_ATTR ;
1113+ REDISMODULE_API int (* RedisModule_AvoidReplicaTraffic )(void ) REDISMODULE_ATTR ;
11081114REDISMODULE_API void * (* RedisModule_PoolAlloc )(RedisModuleCtx * ctx , size_t bytes ) REDISMODULE_ATTR ;
11091115REDISMODULE_API RedisModuleType * (* RedisModule_CreateDataType )(RedisModuleCtx * ctx , const char * name , int encver , RedisModuleTypeMethods * typemethods ) REDISMODULE_ATTR ;
11101116REDISMODULE_API int (* RedisModule_ModuleTypeSetValue )(RedisModuleKey * key , RedisModuleType * mt , void * value ) REDISMODULE_ATTR ;
@@ -1207,17 +1213,17 @@ REDISMODULE_API RedisModuleBlockedClient * (*RedisModule_BlockClientOnKeys)(Redi
12071213REDISMODULE_API RedisModuleBlockedClient * (* RedisModule_BlockClientOnKeysWithFlags )(RedisModuleCtx * ctx , RedisModuleCmdFunc reply_callback , RedisModuleCmdFunc timeout_callback , void (* free_privdata )(RedisModuleCtx * ,void * ), long long timeout_ms , RedisModuleString * * keys , int numkeys , void * privdata , int flags ) REDISMODULE_ATTR ;
12081214REDISMODULE_API void (* RedisModule_SignalKeyAsReady )(RedisModuleCtx * ctx , RedisModuleString * key ) REDISMODULE_ATTR ;
12091215REDISMODULE_API RedisModuleString * (* RedisModule_GetBlockedClientReadyKey )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
1210- REDISMODULE_API RedisModuleScanCursor * (* RedisModule_ScanCursorCreate )() REDISMODULE_ATTR ;
1216+ REDISMODULE_API RedisModuleScanCursor * (* RedisModule_ScanCursorCreate )(void ) REDISMODULE_ATTR ;
12111217REDISMODULE_API void (* RedisModule_ScanCursorRestart )(RedisModuleScanCursor * cursor ) REDISMODULE_ATTR ;
12121218REDISMODULE_API void (* RedisModule_ScanCursorDestroy )(RedisModuleScanCursor * cursor ) REDISMODULE_ATTR ;
12131219REDISMODULE_API int (* RedisModule_Scan )(RedisModuleCtx * ctx , RedisModuleScanCursor * cursor , RedisModuleScanCB fn , void * privdata ) REDISMODULE_ATTR ;
12141220REDISMODULE_API int (* RedisModule_ScanKey )(RedisModuleKey * key , RedisModuleScanCursor * cursor , RedisModuleScanKeyCB fn , void * privdata ) REDISMODULE_ATTR ;
1215- REDISMODULE_API int (* RedisModule_GetContextFlagsAll )() REDISMODULE_ATTR ;
1216- REDISMODULE_API int (* RedisModule_GetModuleOptionsAll )() REDISMODULE_ATTR ;
1217- REDISMODULE_API int (* RedisModule_GetKeyspaceNotificationFlagsAll )() REDISMODULE_ATTR ;
1221+ REDISMODULE_API int (* RedisModule_GetContextFlagsAll )(void ) REDISMODULE_ATTR ;
1222+ REDISMODULE_API int (* RedisModule_GetModuleOptionsAll )(void ) REDISMODULE_ATTR ;
1223+ REDISMODULE_API int (* RedisModule_GetKeyspaceNotificationFlagsAll )(void ) REDISMODULE_ATTR ;
12181224REDISMODULE_API int (* RedisModule_IsSubEventSupported )(RedisModuleEvent event , uint64_t subevent ) REDISMODULE_ATTR ;
1219- REDISMODULE_API int (* RedisModule_GetServerVersion )() REDISMODULE_ATTR ;
1220- REDISMODULE_API int (* RedisModule_GetTypeMethodVersion )() REDISMODULE_ATTR ;
1225+ REDISMODULE_API int (* RedisModule_GetServerVersion )(void ) REDISMODULE_ATTR ;
1226+ REDISMODULE_API int (* RedisModule_GetTypeMethodVersion )(void ) REDISMODULE_ATTR ;
12211227REDISMODULE_API void (* RedisModule_Yield )(RedisModuleCtx * ctx , int flags , const char * busy_reply ) REDISMODULE_ATTR ;
12221228REDISMODULE_API RedisModuleBlockedClient * (* RedisModule_BlockClient )(RedisModuleCtx * ctx , RedisModuleCmdFunc reply_callback , RedisModuleCmdFunc timeout_callback , void (* free_privdata )(RedisModuleCtx * ,void * ), long long timeout_ms ) REDISMODULE_ATTR ;
12231229REDISMODULE_API void * (* RedisModule_BlockClientGetPrivateData )(RedisModuleBlockedClient * blocked_client ) REDISMODULE_ATTR ;
@@ -1240,7 +1246,7 @@ REDISMODULE_API void (*RedisModule_ThreadSafeContextUnlock)(RedisModuleCtx *ctx)
12401246REDISMODULE_API int (* RedisModule_SubscribeToKeyspaceEvents )(RedisModuleCtx * ctx , int types , RedisModuleNotificationFunc cb ) REDISMODULE_ATTR ;
12411247REDISMODULE_API int (* RedisModule_AddPostNotificationJob )(RedisModuleCtx * ctx , RedisModulePostNotificationJobFunc callback , void * pd , void (* free_pd )(void * )) REDISMODULE_ATTR ;
12421248REDISMODULE_API int (* RedisModule_NotifyKeyspaceEvent )(RedisModuleCtx * ctx , int type , const char * event , RedisModuleString * key ) REDISMODULE_ATTR ;
1243- REDISMODULE_API int (* RedisModule_GetNotifyKeyspaceEvents )() REDISMODULE_ATTR ;
1249+ REDISMODULE_API int (* RedisModule_GetNotifyKeyspaceEvents )(void ) REDISMODULE_ATTR ;
12441250REDISMODULE_API int (* RedisModule_BlockedClientDisconnected )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
12451251REDISMODULE_API void (* RedisModule_RegisterClusterMessageReceiver )(RedisModuleCtx * ctx , uint8_t type , RedisModuleClusterMessageReceiver callback ) REDISMODULE_ATTR ;
12461252REDISMODULE_API int (* RedisModule_SendClusterMessage )(RedisModuleCtx * ctx , const char * target_id , uint8_t type , const char * msg , uint32_t len ) REDISMODULE_ATTR ;
@@ -1256,6 +1262,8 @@ REDISMODULE_API void (*RedisModule_GetRandomBytes)(unsigned char *dst, size_t le
12561262REDISMODULE_API void (* RedisModule_GetRandomHexChars )(char * dst , size_t len ) REDISMODULE_ATTR ;
12571263REDISMODULE_API void (* RedisModule_SetDisconnectCallback )(RedisModuleBlockedClient * bc , RedisModuleDisconnectFunc callback ) REDISMODULE_ATTR ;
12581264REDISMODULE_API void (* RedisModule_SetClusterFlags )(RedisModuleCtx * ctx , uint64_t flags ) REDISMODULE_ATTR ;
1265+ REDISMODULE_API unsigned int (* RedisModule_ClusterKeySlot )(RedisModuleString * key ) REDISMODULE_ATTR ;
1266+ REDISMODULE_API const char * (* RedisModule_ClusterCanonicalKeyNameInSlot )(unsigned int slot ) REDISMODULE_ATTR ;
12591267REDISMODULE_API int (* RedisModule_ExportSharedAPI )(RedisModuleCtx * ctx , const char * apiname , void * func ) REDISMODULE_ATTR ;
12601268REDISMODULE_API void * (* RedisModule_GetSharedAPI )(RedisModuleCtx * ctx , const char * apiname ) REDISMODULE_ATTR ;
12611269REDISMODULE_API RedisModuleCommandFilter * (* RedisModule_RegisterCommandFilter )(RedisModuleCtx * ctx , RedisModuleCommandFilterFunc cb , int flags ) REDISMODULE_ATTR ;
@@ -1265,11 +1273,12 @@ REDISMODULE_API RedisModuleString * (*RedisModule_CommandFilterArgGet)(RedisModu
12651273REDISMODULE_API int (* RedisModule_CommandFilterArgInsert )(RedisModuleCommandFilterCtx * fctx , int pos , RedisModuleString * arg ) REDISMODULE_ATTR ;
12661274REDISMODULE_API int (* RedisModule_CommandFilterArgReplace )(RedisModuleCommandFilterCtx * fctx , int pos , RedisModuleString * arg ) REDISMODULE_ATTR ;
12671275REDISMODULE_API int (* RedisModule_CommandFilterArgDelete )(RedisModuleCommandFilterCtx * fctx , int pos ) REDISMODULE_ATTR ;
1276+ REDISMODULE_API unsigned long long (* RedisModule_CommandFilterGetClientId )(RedisModuleCommandFilterCtx * fctx ) REDISMODULE_ATTR ;
12681277REDISMODULE_API int (* RedisModule_Fork )(RedisModuleForkDoneHandler cb , void * user_data ) REDISMODULE_ATTR ;
12691278REDISMODULE_API void (* RedisModule_SendChildHeartbeat )(double progress ) REDISMODULE_ATTR ;
12701279REDISMODULE_API int (* RedisModule_ExitFromChild )(int retcode ) REDISMODULE_ATTR ;
12711280REDISMODULE_API int (* RedisModule_KillForkChild )(int child_pid ) REDISMODULE_ATTR ;
1272- REDISMODULE_API float (* RedisModule_GetUsedMemoryRatio )() REDISMODULE_ATTR ;
1281+ REDISMODULE_API float (* RedisModule_GetUsedMemoryRatio )(void ) REDISMODULE_ATTR ;
12731282REDISMODULE_API size_t (* RedisModule_MallocSize )(void * ptr ) REDISMODULE_ATTR ;
12741283REDISMODULE_API size_t (* RedisModule_MallocUsableSize )(void * ptr ) REDISMODULE_ATTR ;
12751284REDISMODULE_API size_t (* RedisModule_MallocSizeString )(RedisModuleString * str ) REDISMODULE_ATTR ;
@@ -1311,6 +1320,10 @@ REDISMODULE_API int (*RedisModule_RegisterNumericConfig)(RedisModuleCtx *ctx, co
13111320REDISMODULE_API int (* RedisModule_RegisterStringConfig )(RedisModuleCtx * ctx , const char * name , const char * default_val , unsigned int flags , RedisModuleConfigGetStringFunc getfn , RedisModuleConfigSetStringFunc setfn , RedisModuleConfigApplyFunc applyfn , void * privdata ) REDISMODULE_ATTR ;
13121321REDISMODULE_API int (* RedisModule_RegisterEnumConfig )(RedisModuleCtx * ctx , const char * name , int default_val , unsigned int flags , const char * * enum_values , const int * int_values , int num_enum_vals , RedisModuleConfigGetEnumFunc getfn , RedisModuleConfigSetEnumFunc setfn , RedisModuleConfigApplyFunc applyfn , void * privdata ) REDISMODULE_ATTR ;
13131322REDISMODULE_API int (* RedisModule_LoadConfigs )(RedisModuleCtx * ctx ) REDISMODULE_ATTR ;
1323+ REDISMODULE_API RedisModuleRdbStream * (* RedisModule_RdbStreamCreateFromFile )(const char * filename ) REDISMODULE_ATTR ;
1324+ REDISMODULE_API void (* RedisModule_RdbStreamFree )(RedisModuleRdbStream * stream ) REDISMODULE_ATTR ;
1325+ REDISMODULE_API int (* RedisModule_RdbLoad )(RedisModuleCtx * ctx , RedisModuleRdbStream * stream , int flags ) REDISMODULE_ATTR ;
1326+ REDISMODULE_API int (* RedisModule_RdbSave )(RedisModuleCtx * ctx , RedisModuleRdbStream * stream , int flags ) REDISMODULE_ATTR ;
13141327
13151328#define RedisModule_IsAOFClient (id ) ((id ) == UINT64_MAX )
13161329
@@ -1326,18 +1339,23 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
13261339 REDISMODULE_GET_API (Alloc );
13271340 REDISMODULE_GET_API (TryAlloc );
13281341 REDISMODULE_GET_API (Calloc );
1342+ REDISMODULE_GET_API (TryCalloc );
13291343 REDISMODULE_GET_API (Free );
13301344 REDISMODULE_GET_API (Realloc );
1345+ REDISMODULE_GET_API (TryRealloc );
13311346 REDISMODULE_GET_API (Strdup );
13321347 REDISMODULE_GET_API (CreateCommand );
13331348 REDISMODULE_GET_API (GetCommand );
13341349 REDISMODULE_GET_API (CreateSubcommand );
13351350 REDISMODULE_GET_API (SetCommandInfo );
1351+ REDISMODULE_GET_API (SetCommandACLCategories );
1352+ REDISMODULE_GET_API (AddACLCategory );
13361353 REDISMODULE_GET_API (SetModuleAttribs );
13371354 REDISMODULE_GET_API (IsModuleNameBusy );
13381355 REDISMODULE_GET_API (WrongArity );
13391356 REDISMODULE_GET_API (ReplyWithLongLong );
13401357 REDISMODULE_GET_API (ReplyWithError );
1358+ REDISMODULE_GET_API (ReplyWithErrorFormat );
13411359 REDISMODULE_GET_API (ReplyWithSimpleString );
13421360 REDISMODULE_GET_API (ReplyWithArray );
13431361 REDISMODULE_GET_API (ReplyWithMap );
@@ -1614,6 +1632,8 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
16141632 REDISMODULE_GET_API (GetRandomBytes );
16151633 REDISMODULE_GET_API (GetRandomHexChars );
16161634 REDISMODULE_GET_API (SetClusterFlags );
1635+ REDISMODULE_GET_API (ClusterKeySlot );
1636+ REDISMODULE_GET_API (ClusterCanonicalKeyNameInSlot );
16171637 REDISMODULE_GET_API (ExportSharedAPI );
16181638 REDISMODULE_GET_API (GetSharedAPI );
16191639 REDISMODULE_GET_API (RegisterCommandFilter );
@@ -1623,6 +1643,7 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
16231643 REDISMODULE_GET_API (CommandFilterArgInsert );
16241644 REDISMODULE_GET_API (CommandFilterArgReplace );
16251645 REDISMODULE_GET_API (CommandFilterArgDelete );
1646+ REDISMODULE_GET_API (CommandFilterGetClientId );
16261647 REDISMODULE_GET_API (Fork );
16271648 REDISMODULE_GET_API (SendChildHeartbeat );
16281649 REDISMODULE_GET_API (ExitFromChild );
@@ -1669,6 +1690,11 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
16691690 REDISMODULE_GET_API (RegisterStringConfig );
16701691 REDISMODULE_GET_API (RegisterEnumConfig );
16711692 REDISMODULE_GET_API (LoadConfigs );
1693+ REDISMODULE_GET_API (RdbStreamCreateFromFile );
1694+ REDISMODULE_GET_API (RdbStreamFree );
1695+ REDISMODULE_GET_API (RdbLoad );
1696+ REDISMODULE_GET_API (RdbSave );
1697+
16721698
16731699#ifdef REDISMODULE_RLEC_API_DEFS
16741700 REDISMODULE_RLEC_API_DEFS
0 commit comments