summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-23 16:01:40 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-23 16:01:40 +0200
commit23b7ffd8c6fde68170e8f6104d8bf40c6ef8da72 (patch)
tree293c008239021f910510703b15f04f835d373655
parente4280959f1977663be70a2ac539e44f42aea0cd3 (diff)
Got the reference rpc_server implementation running
-rw-r--r--modules/remote/c++/remote_loopback.hpp7
-rw-r--r--modules/remote/c++/remote_loopback_base.hpp4
2 files changed, 7 insertions, 4 deletions
diff --git a/modules/remote/c++/remote_loopback.hpp b/modules/remote/c++/remote_loopback.hpp
index 8037b81..0d25641 100644
--- a/modules/remote/c++/remote_loopback.hpp
+++ b/modules/remote/c++/remote_loopback.hpp
@@ -91,11 +91,14 @@ public:
using Resp = typename schema_member_type<Lit,Iface>::type::ResponseT;
auto resp_dat_ptr = std::get<ptr<data_server<Resp,Encode,rmt::Loopback>>>(dat_srvs_);
- auto eo_send = resp_dat_ptr().send(std::move(answer), id_resp);
+
+ auto& resp_test_ptr = resp_dat_ptr();
+
+ auto eo_send = resp_test_ptr.send(std::move(answer), id_resp);
+
if(eo_send.is_error()){
return std::move(eo_send.get_error());
}
-
return make_void();
}
};
diff --git a/modules/remote/c++/remote_loopback_base.hpp b/modules/remote/c++/remote_loopback_base.hpp
index d91df37..82857a9 100644
--- a/modules/remote/c++/remote_loopback_base.hpp
+++ b/modules/remote/c++/remote_loopback_base.hpp
@@ -54,8 +54,8 @@ private:
template<typename Iface, typename Encoding, uint64_t I>
error_or<void> find_data_servers_ele(typename rpc_server<Iface,Encoding,rmt::Loopback>::DataServers& ret_val, ref<remote_address<rmt::Loopback>> addr){
- if constexpr ( I < Iface::size ){
- using DataTypeGroup = typename rpc_server<Iface,Encoding,rmt::Loopback>::TypeGroup;
+ using DataTypeGroup = typename rpc_server<Iface,Encoding,rmt::Loopback>::TypeGroup;
+ if constexpr ( I < DataTypeGroup::size ){
using Schema = typename tmpl_group_pack_type<I,DataTypeGroup>::type;
constexpr auto class_id = data_server<Schema, Encoding, rmt::Loopback>::class_id;