diff options
author | antirez <antirez@gmail.com> | 2014-01-29 12:17:16 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2014-01-29 12:17:16 +0100 |
commit | 9d4ded7ec6cc38f1576cc34e6f30d24c202a5963 (patch) | |
tree | de73fcbfc4f254084e7b1d2f080a2fa7b7a97098 /src/cluster.h | |
parent | 099bd336db69b0195b2b151bbd690f7373ad1665 (diff) | |
download | redis-9d4ded7ec6cc38f1576cc34e6f30d24c202a5963.tar.gz |
Cluster: refactoring: new macros to check node flags.
Diffstat (limited to 'src/cluster.h')
-rw-r--r-- | src/cluster.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/cluster.h b/src/cluster.h index 2b8cf0e33..7ca20c05e 100644 --- a/src/cluster.h +++ b/src/cluster.h @@ -33,7 +33,7 @@ typedef struct clusterLink { struct clusterNode *node; /* Node related to this link if any, or NULL */ } clusterLink; -/* Node flags */ +/* Cluster node flags and macros. */ #define REDIS_NODE_MASTER 1 /* The node is a master */ #define REDIS_NODE_SLAVE 2 /* The node is a slave */ #define REDIS_NODE_PFAIL 4 /* Failure? Need acknowledge */ @@ -45,6 +45,14 @@ typedef struct clusterLink { #define REDIS_NODE_PROMOTED 256 /* Master was a slave propoted by failover */ #define REDIS_NODE_NULL_NAME "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000" +#define nodeIsMaster(n) ((n)->flags & REDIS_NODE_MASTER) +#define nodeIsSlave(n) ((n)->flags & REDIS_NODE_SLAVE) +#define nodeInHandshake(n) ((n)->flags & REDIS_NODE_HANDSHAKE) +#define nodeHasAddr(n) (!((n)->flags & REDIS_NODE_NOADDR)) +#define nodeWithoutAddr(n) ((n)->flags & REDIS_NODE_NOADDR) +#define nodeTimedOut(n) ((n)->flags & REDIS_NODE_PFAIL) +#define nodeFailed(n) ((n)->flags & REDIS_NODE_FAIL) + /* This structure represent elements of node->fail_reports. */ struct clusterNodeFailReport { struct clusterNode *node; /* Node reporting the failure condition. */ |