| 1203 | } |
| 1204 | |
| 1205 | int RedisClusterChannel::Weight() { |
| 1206 | std::set<std::string> unique; |
| 1207 | butil::DoublyBufferedData<std::vector<std::string> >::ScopedPtr s; |
| 1208 | if (_db_slot_to_endpoint.Read(&s) != 0) { |
| 1209 | return 0; |
| 1210 | } |
| 1211 | for (size_t i = 0; i < s->size(); ++i) { |
| 1212 | if (!(*s)[i].empty()) { |
| 1213 | unique.insert((*s)[i]); |
| 1214 | } |
| 1215 | } |
| 1216 | return static_cast<int>(unique.size()); |
| 1217 | } |
| 1218 | |
| 1219 | } // namespace brpc |