Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
c7558288
Commit
c7558288
authored
Apr 01, 2018
by
antirez
Browse files
Modules Cluster API: GetClusterSize() added.
parent
27f9c810
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/module.c
View file @
c7558288
...
...
@@ -3968,6 +3968,15 @@ const char *RM_GetMyClusterID(void) {
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',
* then returns REDISMODULE_OK. Otherwise if the node ID does not exist from
* the POV of this local node, REDISMODULE_ERR is returned.
...
...
@@ -4565,4 +4574,5 @@ void moduleRegisterCoreAPI(void) {
REGISTER_API
(
StopTimer
);
REGISTER_API
(
GetTimerInfo
);
REGISTER_API
(
GetMyClusterID
);
REGISTER_API
(
GetClusterSize
);
}
src/redismodule.h
View file @
c7558288
...
...
@@ -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
);
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
);
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 */
#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
(
GetTimerInfo
);
REDISMODULE_GET_API
(
GetMyClusterID
);
REDISMODULE_GET_API
(
GetClusterSize
);
#ifdef REDISMODULE_EXPERIMENTAL_API
REDISMODULE_GET_API
(
GetThreadSafeContext
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment