snitch: Provide getter for ignore_msb_bits of an endpoint

Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com>
This commit is contained in:
Piotr Jastrzebski
2019-10-14 16:47:45 +02:00
parent afe520ad77
commit f079dce7b1
2 changed files with 14 additions and 0 deletions

View File

@@ -55,6 +55,12 @@ int snitch_base::get_shard_count(inet_address endpoint) {
return val ? std::stoi(*val) : -1;
}
unsigned snitch_base::get_ignore_msb_bits(inet_address endpoint) {
auto val = get_endpoint_info(endpoint,
gms::application_state::IGNORE_MSB_BITS);
return val ? std::stoi(*val) : 0;
}
std::vector<inet_address> snitch_base::get_sorted_list_by_proximity(
inet_address address,
std::vector<inet_address>& unsorted_address) {

View File

@@ -88,6 +88,12 @@ public:
*/
virtual int get_shard_count(inet_address endpoint) = 0;
/**
* returns an unsigned representing the value of ignore_msb_bits this
* endpoint has
*/
virtual unsigned get_ignore_msb_bits(inet_address endpoint) = 0;
/**
* returns a new <tt>List</tt> sorted by proximity to the given endpoint
*/
@@ -417,6 +423,8 @@ public:
virtual int get_shard_count(inet_address endpoint) override;
virtual unsigned get_ignore_msb_bits(inet_address endpoint) override;
virtual std::vector<inet_address> get_sorted_list_by_proximity(
inet_address address,
std::vector<inet_address>& unsorted_address) override;