@@ -207,20 +207,24 @@ int REDISMODULE_API_FUNC(RedisModule_StringAppendBuffer)(RedisModuleCtx *ctx, Re
207207void REDISMODULE_API_FUNC (RedisModule_RetainString )(RedisModuleCtx * ctx , RedisModuleString * str );
208208int REDISMODULE_API_FUNC (RedisModule_StringCompare )(RedisModuleString * a , RedisModuleString * b );
209209RedisModuleCtx * REDISMODULE_API_FUNC (RedisModule_GetContextFromIO )(RedisModuleIO * io );
210+ long long REDISMODULE_API_FUNC (RedisModule_Milliseconds )(void );
211+ void REDISMODULE_API_FUNC (RedisModule_DigestAddStringBuffer )(RedisModuleDigest * md , unsigned char * ele , size_t len );
212+ void REDISMODULE_API_FUNC (RedisModule_DigestAddLongLong )(RedisModuleDigest * md , long long ele );
213+ void REDISMODULE_API_FUNC (RedisModule_DigestEndSequence )(RedisModuleDigest * md );
214+
215+ /* Experimental APIs */
216+ #ifdef REDISMODULE_EXPERIMENTAL_API
210217RedisModuleBlockedClient * REDISMODULE_API_FUNC (RedisModule_BlockClient )(RedisModuleCtx * ctx , RedisModuleCmdFunc reply_callback , RedisModuleCmdFunc timeout_callback , void (* free_privdata )(void * ), long long timeout_ms );
211218int REDISMODULE_API_FUNC (RedisModule_UnblockClient )(RedisModuleBlockedClient * bc , void * privdata );
212219int REDISMODULE_API_FUNC (RedisModule_IsBlockedReplyRequest )(RedisModuleCtx * ctx );
213220int REDISMODULE_API_FUNC (RedisModule_IsBlockedTimeoutRequest )(RedisModuleCtx * ctx );
214221void * REDISMODULE_API_FUNC (RedisModule_GetBlockedClientPrivateData )(RedisModuleCtx * ctx );
215222int REDISMODULE_API_FUNC (RedisModule_AbortBlock )(RedisModuleBlockedClient * bc );
216- long long REDISMODULE_API_FUNC (RedisModule_Milliseconds )(void );
217223RedisModuleCtx * REDISMODULE_API_FUNC (RedisModule_GetThreadSafeContext )(RedisModuleBlockedClient * bc );
218224void REDISMODULE_API_FUNC (RedisModule_FreeThreadSafeContext )(RedisModuleCtx * ctx );
219225void REDISMODULE_API_FUNC (RedisModule_ThreadSafeContextLock )(RedisModuleCtx * ctx );
220226void REDISMODULE_API_FUNC (RedisModule_ThreadSafeContextUnlock )(RedisModuleCtx * ctx );
221- void REDISMODULE_API_FUNC (RedisModule_DigestAddStringBuffer )(RedisModuleDigest * md , unsigned char * ele , size_t len );
222- void REDISMODULE_API_FUNC (RedisModule_DigestAddLongLong )(RedisModuleDigest * md , long long ele );
223- void REDISMODULE_API_FUNC (RedisModule_DigestEndSequence )(RedisModuleDigest * md );
227+ #endif
224228
225229/* This is included inline inside each Redis module. */
226230static int RedisModule_Init (RedisModuleCtx * ctx , const char * name , int ver , int apiver ) __attribute__((unused ));
@@ -322,20 +326,23 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
322326 REDISMODULE_GET_API (RetainString );
323327 REDISMODULE_GET_API (StringCompare );
324328 REDISMODULE_GET_API (GetContextFromIO );
329+ REDISMODULE_GET_API (Milliseconds );
330+ REDISMODULE_GET_API (DigestAddStringBuffer );
331+ REDISMODULE_GET_API (DigestAddLongLong );
332+ REDISMODULE_GET_API (DigestEndSequence );
333+
334+ #ifdef REDISMODULE_EXPERIMENTAL_API
335+ REDISMODULE_GET_API (GetThreadSafeContext );
336+ REDISMODULE_GET_API (FreeThreadSafeContext );
337+ REDISMODULE_GET_API (ThreadSafeContextLock );
338+ REDISMODULE_GET_API (ThreadSafeContextUnlock );
325339 REDISMODULE_GET_API (BlockClient );
326340 REDISMODULE_GET_API (UnblockClient );
327341 REDISMODULE_GET_API (IsBlockedReplyRequest );
328342 REDISMODULE_GET_API (IsBlockedTimeoutRequest );
329343 REDISMODULE_GET_API (GetBlockedClientPrivateData );
330344 REDISMODULE_GET_API (AbortBlock );
331- REDISMODULE_GET_API (Milliseconds );
332- REDISMODULE_GET_API (GetThreadSafeContext );
333- REDISMODULE_GET_API (FreeThreadSafeContext );
334- REDISMODULE_GET_API (ThreadSafeContextLock );
335- REDISMODULE_GET_API (ThreadSafeContextUnlock );
336- REDISMODULE_GET_API (DigestAddStringBuffer );
337- REDISMODULE_GET_API (DigestAddLongLong );
338- REDISMODULE_GET_API (DigestEndSequence );
345+ #endif
339346
340347 RedisModule_SetModuleAttribs (ctx ,name ,ver ,apiver );
341348 return REDISMODULE_OK ;
0 commit comments