diff --git a/transport/server.cc b/transport/server.cc index baacc8da52..e3c90cb3ea 100644 --- a/transport/server.cc +++ b/transport/server.cc @@ -234,6 +234,7 @@ private: bytes_opt read_value(temporary_buffer& buf); sstring_view read_long_string_view(temporary_buffer& buf); void read_name_and_value_list(temporary_buffer& buf, std::vector& names, std::vector& values); + void read_string_list(temporary_buffer& buf, std::vector& strings); void read_value_list(temporary_buffer& buf, std::vector& values); db::consistency_level read_consistency(temporary_buffer& buf); std::unordered_map read_string_map(temporary_buffer& buf); @@ -1119,6 +1120,14 @@ void cql_server::connection::read_name_and_value_list(temporary_buffer& bu } } +void cql_server::connection::read_string_list(temporary_buffer& buf, std::vector& strings) { + uint16_t size = read_unsigned_short(buf); + strings.reserve(size); + for (uint16_t i = 0; i < size; i++) { + strings.emplace_back(read_string(buf)); + } +} + void cql_server::connection::read_value_list(temporary_buffer& buf, std::vector& values) { uint16_t size = read_unsigned_short(buf); values.reserve(size);