This commit is contained in:
qicosmos
2025-10-13 16:32:12 +08:00
parent 418cb2d67a
commit c25524f3ec
3 changed files with 15 additions and 11 deletions
+7 -2
View File
@@ -39,8 +39,13 @@ struct rpc_codec {
std::forward<Args>(args)...);
} else {
msgpack::sbuffer buffer(2 * 1024);
msgpack::pack(buffer,
std::forward_as_tuple(std::forward<Args>(args)...));
if constexpr (sizeof...(Args) > 1) {
msgpack::pack(buffer,
std::forward_as_tuple(std::forward<Args>(args)...));
} else {
msgpack::pack(buffer, std::forward<Args>(args)...);
}
return std::string(buffer.data(), buffer.size());
}
}
+2 -8
View File
@@ -226,14 +226,8 @@ private:
}
result.ec = (rpc_errc)socket_->body_[0];
if constexpr (!std::is_void_v<R>) {
if constexpr (util::is_basic_v<R>) {
result.value = rpc_codec::unpack<R>(std::string_view(
socket_->body_.data() + 1, resp_header.body_len - 1));
} else {
auto tp = rpc_codec::unpack<std::tuple<R>>(std::string_view(
socket_->body_.data() + 1, resp_header.body_len - 1));
result.value = std::move(std::get<0>(tp));
}
result.value = rpc_codec::unpack<R>(std::string_view(
socket_->body_.data() + 1, resp_header.body_len - 1));
}
if (resp_header.msg_type == 1) { // pubsub
+6 -1
View File
@@ -563,7 +563,12 @@ template <typename... Args>
std::string serialize(rest_adl_tag, Args &&...args) {
in_user_pack = true;
msgpack::sbuffer buffer(2 * 1024);
msgpack::pack(buffer, std::forward_as_tuple(std::forward<Args>(args)...));
if constexpr (sizeof...(Args) > 1) {
msgpack::pack(buffer, std::forward_as_tuple(std::forward<Args>(args)...));
} else {
msgpack::pack(buffer, std::forward<Args>(args)...);
}
return std::string(buffer.data(), buffer.size());
}