Find replica at IP:PORT from replica list */
| 5035 | |
| 5036 | /* Find replica at IP:PORT from replica list */ |
| 5037 | static client *findReplica(char *host, int port) { |
| 5038 | listIter li; |
| 5039 | listNode *ln; |
| 5040 | client *replica; |
| 5041 | |
| 5042 | listRewind(g_pserver->slaves,&li); |
| 5043 | while((ln = listNext(&li))) { |
| 5044 | replica = (client*)listNodeValue(ln); |
| 5045 | char ip[NET_IP_STR_LEN], *replicaip = replica->slave_addr; |
| 5046 | |
| 5047 | if (!replicaip) { |
| 5048 | if (connPeerToString(replica->conn, ip, sizeof(ip), NULL) == -1) |
| 5049 | continue; |
| 5050 | replicaip = ip; |
| 5051 | } |
| 5052 | |
| 5053 | if (!strcasecmp(host, replicaip) && |
| 5054 | (port == replica->slave_listening_port)) |
| 5055 | return replica; |
| 5056 | } |
| 5057 | |
| 5058 | return NULL; |
| 5059 | } |
| 5060 | |
| 5061 | const char *getFailoverStateString() { |
| 5062 | switch(g_pserver->failover_state) { |
no test coverage detected