diff --git a/locator/token_metadata.hh b/locator/token_metadata.hh index e8abaa8ace..fda76f6ed0 100644 --- a/locator/token_metadata.hh +++ b/locator/token_metadata.hh @@ -15,7 +15,6 @@ #include #include "gms/inet_address.hh" #include "dht/i_partitioner.hh" -#include "locator/token_range_splitter.hh" #include "inet_address_vectors.hh" #include #include @@ -31,6 +30,7 @@ #include "locator/types.hh" #include "locator/topology.hh" +#include "locator/token_metadata_fwd.hh" // forward declaration since replica/database.hh includes this file namespace replica { @@ -304,8 +304,6 @@ struct topology_change_info { future<> clear_gently(); }; -using token_metadata_ptr = lw_shared_ptr; -using mutable_token_metadata_ptr = lw_shared_ptr; using token_metadata_lock = semaphore_units<>; using token_metadata_lock_func = noncopyable_function() noexcept>; @@ -395,6 +393,4 @@ public: static future<> mutate_on_all_shards(sharded& stm, seastar::noncopyable_function (token_metadata&)> func); }; -std::unique_ptr make_splitter(token_metadata_ptr); - } diff --git a/locator/token_metadata_fwd.hh b/locator/token_metadata_fwd.hh new file mode 100644 index 0000000000..07f470bca7 --- /dev/null +++ b/locator/token_metadata_fwd.hh @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2023-present ScyllaDB + */ + +/* + * SPDX-License-Identifier: (AGPL-3.0-or-later and Apache-2.0) + */ + +#include +#include "seastarx.hh" + +namespace locator { + +class token_metadata; + +using token_metadata_ptr = lw_shared_ptr; +using mutable_token_metadata_ptr = lw_shared_ptr; + +} // namespace locator diff --git a/locator/token_range_splitter.hh b/locator/token_range_splitter.hh index 3f1509dbd5..8b805f5ea8 100644 --- a/locator/token_range_splitter.hh +++ b/locator/token_range_splitter.hh @@ -10,6 +10,7 @@ #include "dht/i_partitioner.hh" #include "dht/token.hh" +#include "locator/token_metadata_fwd.hh" #include @@ -39,4 +40,6 @@ public: virtual std::optional next_token() = 0; }; +std::unique_ptr make_splitter(token_metadata_ptr); + } \ No newline at end of file