mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-21 17:10:35 +00:00
locator: Add abstract_replication_strategy::get_address_ranges
Needed by get_pending_address_ranges.
This commit is contained in:
@@ -142,4 +142,16 @@ abstract_replication_strategy::get_primary_ranges(inet_address ep) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::unordered_multimap<inet_address, range<token>>
|
||||
abstract_replication_strategy::get_address_ranges(token_metadata& tm) const {
|
||||
std::unordered_multimap<inet_address, range<token>> ret;
|
||||
for (auto& t : tm.sorted_tokens()) {
|
||||
range<token> r = tm.get_primary_range_for(t);
|
||||
for (auto ep : calculate_natural_endpoints(t, tm)) {
|
||||
ret.emplace(ep, r);
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
} // namespace locator
|
||||
|
||||
@@ -113,6 +113,8 @@ public:
|
||||
// StorageService.getPrimaryRangesForEndpoint().
|
||||
std::vector<range<token>> get_primary_ranges(inet_address ep);
|
||||
|
||||
std::unordered_multimap<inet_address, range<token>> get_address_ranges(token_metadata& tm) const;
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user