summaryrefslogtreecommitdiff
path: root/src/cluster.h
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2014-01-29 12:17:16 +0100
committerantirez <antirez@gmail.com>2014-01-29 12:17:16 +0100
commit9d4ded7ec6cc38f1576cc34e6f30d24c202a5963 (patch)
treede73fcbfc4f254084e7b1d2f080a2fa7b7a97098 /src/cluster.h
parent099bd336db69b0195b2b151bbd690f7373ad1665 (diff)
downloadredis-9d4ded7ec6cc38f1576cc34e6f30d24c202a5963.tar.gz
Cluster: refactoring: new macros to check node flags.
Diffstat (limited to 'src/cluster.h')
-rw-r--r--src/cluster.h10
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. */