/* * Copyright (C) 2022-present ScyllaDB */ /* * SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.0 */ #pragma once #include "dht/token_range_endpoints.hh" #include "dht/i_partitioner_fwd.hh" #include "inet_address_vectors.hh" #include "locator/abstract_replication_strategy.hh" #include "utils/chunked_vector.hh" namespace replica { class database; } namespace gms { class gossiper; } namespace locator { future> describe_ring(const replica::database& db, const gms::gossiper& gossiper, const sstring& keyspace, bool include_only_local_dc = false); future> get_range_to_address_map( locator::effective_replication_map_ptr erm, const utils::chunked_vector& sorted_tokens); struct describe_ring_endpoint_info { dht::endpoint_details details; sstring rpc_addr; }; describe_ring_endpoint_info get_describe_ring_endpoint_info(host_id endpoint, const topology& topology, const gms::gossiper& gossiper); }