2
0
mirror of https://github.com/boostorg/mysql.git synced 2026-02-17 13:52:18 +00:00

Split serialization tests into multiple files

Converted string_fixed into a plain array
This commit is contained in:
ruben
2020-03-21 19:01:51 +00:00
parent 5e47d703b9
commit 26c57e92dd
16 changed files with 1064 additions and 993 deletions

View File

@@ -34,8 +34,8 @@ boost::mysql::detail::serialization_traits<
// Compose capabilities
auto capabilities_begin = reinterpret_cast<std::uint8_t*>(&output.capability_falgs.value);
memcpy(capabilities_begin, capability_flags_low.value.data(), 2);
memcpy(capabilities_begin + 2, capability_flags_high.value.data(), 2);
memcpy(capabilities_begin, capability_flags_low.data(), 2);
memcpy(capabilities_begin + 2, capability_flags_high.data(), 2);
boost::endian::little_to_native_inplace(output.capability_falgs.value);
// Check minimum server capabilities to deserialize this frame
@@ -59,7 +59,7 @@ boost::mysql::detail::serialization_traits<
// Compose auth_plugin_data
memcpy(
output.auth_plugin_data_buffer.data(),
auth_plugin_data_part_1.value.data(),
auth_plugin_data_part_1.data(),
auth1_length
);
output.auth_plugin_data.value = std::string_view(

View File

@@ -204,7 +204,7 @@ boost::mysql::errc boost::mysql::detail::serialization_traits<
{
return errc::incomplete_message;
}
memcpy(&output.value, ctx.first(), N);
memcpy(output.data(), ctx.first(), N);
ctx.advance(N);
return errc::ok;
}

View File

@@ -25,14 +25,7 @@ struct int8_signed : value_holder<std::int64_t> { using value_holder::value_hold
struct int_lenenc : value_holder<std::uint64_t> { using value_holder::value_holder; };
template <std::size_t size>
struct string_fixed : value_holder<std::array<char, size>>
{
constexpr string_fixed() = default;
explicit string_fixed(const char (&v) [size])
{
std::memcpy(this->value.data(), v, size);
}
};
using string_fixed = std::array<char, size>;
struct string_null : value_holder<std::string_view> { using value_holder::value_holder; };
struct string_eof : value_holder<std::string_view> { using value_holder::value_holder; };

View File

@@ -77,7 +77,7 @@ struct serialization_traits<string_fixed<N>, serialization_tag::none>
static errc deserialize_(string_fixed<N>& output, deserialization_context& ctx) noexcept;
static void serialize_(const string_fixed<N>& input, serialization_context& ctx) noexcept
{
ctx.write(input.value.data(), N);
ctx.write(input.data(), N);
}
static constexpr std::size_t get_size_(const string_fixed<N>&, const serialization_context&) noexcept
{