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
a97df1a6
Commit
a97df1a6
authored
Mar 30, 2018
by
antirez
Browse files
Modules Cluster API: make node IDs pointers constant.
parent
061f03d7
Changes
4
Show whitespace changes
Inline
Side-by-side
src/cluster.c
View file @
a97df1a6
...
...
@@ -56,7 +56,7 @@ void clusterSendFailoverAuthIfNeeded(clusterNode *node, clusterMsg *request);
void clusterUpdateState(void);
int clusterNodeGetSlotBit(clusterNode *n, int slot);
sds clusterGenNodesDescription(int filter);
clusterNode
*
clusterLookupNode
(
char
*
name
);
clusterNode *clusterLookupNode(
const
char *name);
int clusterNodeAddSlave(clusterNode *master, clusterNode *slave);
int clusterAddSlot(clusterNode *n, int slot);
int clusterDelSlot(int slot);
...
...
@@ -75,7 +75,7 @@ void clusterDelNode(clusterNode *delnode);
sds representClusterNodeFlags(sds ci, uint16_t flags);
uint64_t clusterGetMaxEpoch(void);
int clusterBumpConfigEpochWithoutConsensus(void);
void
moduleCallClusterReceivers
(
char
*
sender_id
,
uint64_t
module_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
);
void moduleCallClusterReceivers(
const
char *sender_id, uint64_t module_id, uint8_t type, const unsigned char *payload, uint32_t len);
/* -----------------------------------------------------------------------------
* Initialization
...
...
@@ -932,7 +932,7 @@ void clusterDelNode(clusterNode *delnode) {
}
/* Node lookup by name */
clusterNode
*
clusterLookupNode
(
char
*
name
)
{
clusterNode *clusterLookupNode(
const
char *name) {
sds s = sdsnewlen(name, CLUSTER_NAMELEN);
dictEntry *de;
...
...
@@ -2621,7 +2621,7 @@ void clusterSendModule(clusterLink *link, uint64_t module_id, uint8_t type,
*
* The function returns C_OK if the target is valid, otherwise C_ERR is
* returned. */
int
clusterSendModuleMessageToTarget
(
char
*
target
,
uint64_t
module_id
,
uint8_t
type
,
unsigned
char
*
payload
,
uint32_t
len
)
{
int clusterSendModuleMessageToTarget(
const
char *target, uint64_t module_id, uint8_t type, unsigned char *payload, uint32_t len) {
clusterNode *node = NULL;
if (target != NULL) {
...
...
src/module.c
View file @
a97df1a6
...
...
@@ -3813,7 +3813,7 @@ void moduleUnsubscribeNotifications(RedisModule *module) {
* -------------------------------------------------------------------------- */
/* The Cluster message callback function pointer type. */
typedef
void
(
*
RedisModuleClusterMessageReceiver
)(
RedisModuleCtx
*
ctx
,
char
*
sender_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
);
typedef
void
(
*
RedisModuleClusterMessageReceiver
)(
RedisModuleCtx
*
ctx
,
const
char
*
sender_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
);
/* This structure identifies a registered caller: it must match a given module
* ID, for a given message type. The callback function is just the function
...
...
@@ -3830,7 +3830,7 @@ typedef struct moduleClusterReceiver {
static
moduleClusterReceiver
*
clusterReceivers
[
UINT8_MAX
];
/* Dispatch the message to the right module receiver. */
void
moduleCallClusterReceivers
(
char
*
sender_id
,
uint64_t
module_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
)
{
void
moduleCallClusterReceivers
(
const
char
*
sender_id
,
uint64_t
module_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
)
{
moduleClusterReceiver
*
r
=
clusterReceivers
[
type
];
while
(
r
)
{
if
(
r
->
module_id
==
module_id
)
{
...
...
src/redismodule.h
View file @
a97df1a6
...
...
@@ -133,7 +133,7 @@ typedef void (*RedisModuleTypeRewriteFunc)(RedisModuleIO *aof, RedisModuleString
typedef
size_t
(
*
RedisModuleTypeMemUsageFunc
)(
const
void
*
value
);
typedef
void
(
*
RedisModuleTypeDigestFunc
)(
RedisModuleDigest
*
digest
,
void
*
value
);
typedef
void
(
*
RedisModuleTypeFreeFunc
)(
void
*
value
);
typedef
void
(
*
RedisModuleClusterMessageReceiver
)(
RedisModuleCtx
*
ctx
,
char
*
sender_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
);
typedef
void
(
*
RedisModuleClusterMessageReceiver
)(
RedisModuleCtx
*
ctx
,
const
char
*
sender_id
,
uint8_t
type
,
const
unsigned
char
*
payload
,
uint32_t
len
);
#define REDISMODULE_TYPE_METHOD_VERSION 1
typedef
struct
RedisModuleTypeMethods
{
...
...
src/server.h
View file @
a97df1a6
...
...
@@ -1808,7 +1808,7 @@ void clusterCron(void);
void
clusterPropagatePublish
(
robj
*
channel
,
robj
*
message
);
void
migrateCloseTimedoutSockets
(
void
);
void
clusterBeforeSleep
(
void
);
int
clusterSendModuleMessageToTarget
(
char
*
target
,
uint64_t
module_id
,
uint8_t
type
,
unsigned
char
*
payload
,
uint32_t
len
);
int
clusterSendModuleMessageToTarget
(
const
char
*
target
,
uint64_t
module_id
,
uint8_t
type
,
unsigned
char
*
payload
,
uint32_t
len
);
/* Sentinel */
void
initSentinelConfig
(
void
);
...
...
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