topology: add for_each_node
To eventually replace token_metadata::get_endpoint_to_host_id_map_for_reading Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
@@ -495,6 +495,14 @@ std::weak_ordering topology::compare_endpoints(const inet_address& address, cons
|
||||
return d1 <=> d2;
|
||||
}
|
||||
|
||||
void topology::for_each_node(std::function<void(const node*)> func) const {
|
||||
for (const auto& np : _nodes) {
|
||||
if (np) {
|
||||
func(np.get());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace locator
|
||||
|
||||
namespace std {
|
||||
|
||||
@@ -250,6 +250,8 @@ public:
|
||||
*/
|
||||
void sort_by_proximity(inet_address address, inet_address_vector_replica_set& addresses) const;
|
||||
|
||||
void for_each_node(std::function<void(const node*)> func) const;
|
||||
|
||||
private:
|
||||
// default constructor for cloning purposes
|
||||
topology() noexcept;
|
||||
|
||||
Reference in New Issue
Block a user