... compiled!

This commit is contained in:
Timur A. Fatkhullin
2025-10-30 01:01:52 +03:00
parent 620f8ba136
commit 85259fc6ad
14 changed files with 261 additions and 216 deletions

View File

@@ -72,9 +72,9 @@ protected:
if constexpr (std::same_as<T, Asibfm700CCTE::meteo_t>) {
// serialize just like a vector
std::vector<double> meteo{value.temperature, value.humidity, value.pressure};
base_t::operator()(meteo, bytes);
base_t::DefaultSerializer::operator()(meteo, bytes);
} else {
base_t::operator()(value, bytes);
base_t::DefaultSerializer::operator()(value, bytes);
}
}
} _serializer;
@@ -84,13 +84,13 @@ protected:
{
public:
template <mcc::traits::mcc_input_char_range IR, typename VT>
std::error_code operator()(IR&& bytes, VT& value)
std::error_code operator()(IR&& bytes, VT& value) const
{
if constexpr (std::same_as<VT, Asibfm700CCTE::meteo_t>) {
// deserialize just like a vector
std::vector<double> v;
auto ec = base_t::operator()(std::forward<IR>(bytes), v);
auto ec = base_t::DefaultDeserializer::operator()(std::forward<IR>(bytes), v);
if (ec) {
return ec;
}
@@ -105,7 +105,7 @@ protected:
return {};
} else {
return base_t::operator()(std::forward<IR>(bytes), value);
return base_t::DefaultDeserializer::operator()(std::forward<IR>(bytes), value);
}
}
} _deserializer;
@@ -116,9 +116,9 @@ public:
using base_t::base_t;
template <typename T>
std::expected<T, std::error_code> paramValue(size_t idx)
std::expected<T, std::error_code> paramValue(size_t idx) const
{
return paramValue<T>(idx, _deserializer);
return base_t::template paramValue<T>(idx, _deserializer);
}
@@ -127,7 +127,7 @@ public:
std::error_code construct(KT&& key, PTs&&... params)
requires mcc::traits::mcc_output_char_range<BYTEREPR_T>
{
return construct(_serializer, std::forward<KT>(key), std::forward<PTs>(params)...);
return base_t::construct(_serializer, std::forward<KT>(key), std::forward<PTs>(params)...);
}
};
@@ -141,9 +141,6 @@ public:
Asibfm700MountNetServer(asio::io_context& ctx, Asibfm700Mount& mount, std::shared_ptr<spdlog::logger> logger);
~Asibfm700MountNetServer();
private:
std::vector<char> handleMessage(std::string_view msg);
};
} // namespace asibfm700