MCPcopy Create free account
hub / github.com/acl-dev/acl / add_one_slave

Method add_one_slave

lib_acl_cpp/src/redis/redis_role.cpp:98–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96}
97
98bool redis_role::add_one_slave(const redis_result* a, redis_role4master& out)
99{
100 string buf;
101 size_t size;
102 const redis_result** children = a->get_children(&size);
103 if (size < 3) {
104 logger_error("invalid size=%d", (int) size);
105 return false;
106 }
107
108 redis_role4slave slave;
109
110 if (children[0]->get_type() != REDIS_RESULT_STRING) {
111 logger_error("no ip");
112 return false;
113 }
114 children[0]->argv_to_string(buf);
115 slave.set_ip(buf);
116
117 if (children[1]->get_type() != REDIS_RESULT_STRING) {
118 logger_error("no port");
119 return false;
120 }
121 buf.clear();
122 children[1]->argv_to_string(buf);
123 slave.set_port(atoi(buf.c_str()));
124
125 if (children[2]->get_type() != REDIS_RESULT_STRING) {
126 logger_error("no offset");
127 return false;
128 }
129 buf.clear();
130 children[2]->argv_to_string(buf);
131 slave.set_offset(acl_atoi64(buf.c_str()));
132
133 out.add_slave(slave);
134 return true;
135}
136
137bool redis_role::role_slave(const redis_result** a, size_t n)
138{

Callers

nothing calls this directly

Calls 7

acl_atoi64Function · 0.85
get_childrenMethod · 0.45
get_typeMethod · 0.45
argv_to_stringMethod · 0.45
clearMethod · 0.45
c_strMethod · 0.45
add_slaveMethod · 0.45

Tested by

no test coverage detected