mirror of
https://github.com/scylladb/scylladb.git
synced 2026-05-29 19:21:01 +00:00
streaming: Fix prepare_message and stream_request deserialization
vector(size_type count) constructs the container with count default-inserted instances of T. So, current code will end up with 2*num elements which is wrong.
This commit is contained in:
@@ -41,14 +41,14 @@ void prepare_message::serialize(bytes::iterator& out) const {
|
||||
|
||||
prepare_message prepare_message::deserialize(bytes_view& v) {
|
||||
auto num = read_simple<int32_t>(v);
|
||||
std::vector<stream_request> requests_(num);
|
||||
std::vector<stream_request> requests_;
|
||||
for (int32_t i = 0; i < num; i++) {
|
||||
auto r = stream_request::deserialize(v);
|
||||
requests_.push_back(std::move(r));
|
||||
}
|
||||
|
||||
num = read_simple<int32_t>(v);
|
||||
std::vector<stream_summary> summaries_(num);
|
||||
std::vector<stream_summary> summaries_;
|
||||
for (int32_t i = 0; i < num; i++) {
|
||||
auto s = stream_summary::deserialize(v);
|
||||
summaries_.push_back(std::move(s));
|
||||
|
||||
@@ -43,13 +43,13 @@ stream_request stream_request::deserialize(bytes_view& v) {
|
||||
auto keyspace_ = read_simple_short_string(v);
|
||||
|
||||
auto num = read_simple<int32_t>(v);
|
||||
std::vector<query::range<token>> ranges_(num);
|
||||
std::vector<query::range<token>> ranges_;
|
||||
for (int32_t i = 0; i < num; i++) {
|
||||
// FIXME: query::range<token>
|
||||
}
|
||||
|
||||
num = read_simple<int32_t>(v);
|
||||
std::vector<sstring> column_families_(num);
|
||||
std::vector<sstring> column_families_;
|
||||
for (int32_t i = 0; i < num; i++) {
|
||||
auto s = read_simple_short_string(v);
|
||||
column_families_.push_back(std::move(s));
|
||||
|
||||
Reference in New Issue
Block a user