streaming: stream_plan: transfer_ranges: move token ranges towards add_transfer_ranges

Rather than copying the ranges vector.

Note that add_transfer_ranges itself cannot simply move the ranges
since it copies them for multiple tables.

While at it, move also the keyspace and column_family strings.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
This commit is contained in:
Benny Halevy
2023-01-16 23:58:56 +02:00
parent 775c6b9697
commit 12eb3d210f

View File

@@ -29,13 +29,13 @@ stream_plan& stream_plan::request_ranges(inet_address from, sstring keyspace, dh
}
stream_plan& stream_plan::transfer_ranges(inet_address to, sstring keyspace, dht::token_range_vector ranges) {
return transfer_ranges(to, keyspace, std::move(ranges), {});
return transfer_ranges(to, std::move(keyspace), std::move(ranges), {});
}
stream_plan& stream_plan::transfer_ranges(inet_address to, sstring keyspace, dht::token_range_vector ranges, std::vector<sstring> column_families) {
_range_added = true;
auto session = _coordinator->get_or_create_session(_mgr, to);
session->add_transfer_ranges(keyspace, std::move(ranges), std::move(column_families));
session->add_transfer_ranges(std::move(keyspace), std::move(ranges), std::move(column_families));
session->set_reason(_reason);
return *this;
}