mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
Modules Cluster API: GetClusterSize() added.
This commit is contained in:
parent
27f9c8108c
commit
c75582889a
10
src/module.c
10
src/module.c
@ -3968,6 +3968,15 @@ const char *RM_GetMyClusterID(void) {
|
|||||||
return server.cluster->myself->name;
|
return server.cluster->myself->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Return the number of nodes in the cluster, regardless of their state
|
||||||
|
* (handshake, noaddress, ...) so that the number of active nodes may actually
|
||||||
|
* be smaller, but not greater than this number. If the instance is not in
|
||||||
|
* cluster mode, zero is returned. */
|
||||||
|
size_t RM_GetClusterSize(void) {
|
||||||
|
if (!server.cluster_enabled) return 0;
|
||||||
|
return dictSize(server.cluster->nodes);
|
||||||
|
}
|
||||||
|
|
||||||
/* Populate the specified info for the node having as ID the specified 'id',
|
/* Populate the specified info for the node having as ID the specified 'id',
|
||||||
* then returns REDISMODULE_OK. Otherwise if the node ID does not exist from
|
* then returns REDISMODULE_OK. Otherwise if the node ID does not exist from
|
||||||
* the POV of this local node, REDISMODULE_ERR is returned.
|
* the POV of this local node, REDISMODULE_ERR is returned.
|
||||||
@ -4565,4 +4574,5 @@ void moduleRegisterCoreAPI(void) {
|
|||||||
REGISTER_API(StopTimer);
|
REGISTER_API(StopTimer);
|
||||||
REGISTER_API(GetTimerInfo);
|
REGISTER_API(GetTimerInfo);
|
||||||
REGISTER_API(GetMyClusterID);
|
REGISTER_API(GetMyClusterID);
|
||||||
|
REGISTER_API(GetClusterSize);
|
||||||
}
|
}
|
||||||
|
@ -276,7 +276,8 @@ void REDISMODULE_API_FUNC(RedisModule_FreeClusterNodesList)(char **ids);
|
|||||||
RedisModuleTimerID REDISMODULE_API_FUNC(RedisModule_CreateTimer)(RedisModuleCtx *ctx, mstime_t period, RedisModuleTimerProc callback, void *data);
|
RedisModuleTimerID REDISMODULE_API_FUNC(RedisModule_CreateTimer)(RedisModuleCtx *ctx, mstime_t period, RedisModuleTimerProc callback, void *data);
|
||||||
int REDISMODULE_API_FUNC(RedisModule_StopTimer)(RedisModuleCtx *ctx, RedisModuleTimerID id, void **data);
|
int REDISMODULE_API_FUNC(RedisModule_StopTimer)(RedisModuleCtx *ctx, RedisModuleTimerID id, void **data);
|
||||||
int REDISMODULE_API_FUNC(RedisModule_GetTimerInfo)(RedisModuleCtx *ctx, RedisModuleTimerID id, uint64_t *remaining, void **data);
|
int REDISMODULE_API_FUNC(RedisModule_GetTimerInfo)(RedisModuleCtx *ctx, RedisModuleTimerID id, uint64_t *remaining, void **data);
|
||||||
const char *REDISMODULE_API_FUNC(RM_GetMyClusterID)(void);
|
const char *REDISMODULE_API_FUNC(RedisModule_GetMyClusterID)(void);
|
||||||
|
size_t REDISMODULE_API_FUNC(RedisModule_GetClusterSize)(void);
|
||||||
|
|
||||||
/* Experimental APIs */
|
/* Experimental APIs */
|
||||||
#ifdef REDISMODULE_EXPERIMENTAL_API
|
#ifdef REDISMODULE_EXPERIMENTAL_API
|
||||||
@ -409,6 +410,7 @@ static int RedisModule_Init(RedisModuleCtx *ctx, const char *name, int ver, int
|
|||||||
REDISMODULE_GET_API(StopTimer);
|
REDISMODULE_GET_API(StopTimer);
|
||||||
REDISMODULE_GET_API(GetTimerInfo);
|
REDISMODULE_GET_API(GetTimerInfo);
|
||||||
REDISMODULE_GET_API(GetMyClusterID);
|
REDISMODULE_GET_API(GetMyClusterID);
|
||||||
|
REDISMODULE_GET_API(GetClusterSize);
|
||||||
|
|
||||||
#ifdef REDISMODULE_EXPERIMENTAL_API
|
#ifdef REDISMODULE_EXPERIMENTAL_API
|
||||||
REDISMODULE_GET_API(GetThreadSafeContext);
|
REDISMODULE_GET_API(GetThreadSafeContext);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user