diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-10-23 16:01:40 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-10-23 16:01:40 +0200 |
commit | 23b7ffd8c6fde68170e8f6104d8bf40c6ef8da72 (patch) | |
tree | 293c008239021f910510703b15f04f835d373655 | |
parent | e4280959f1977663be70a2ac539e44f42aea0cd3 (diff) |
Got the reference rpc_server implementation running
-rw-r--r-- | modules/remote/c++/remote_loopback.hpp | 7 | ||||
-rw-r--r-- | modules/remote/c++/remote_loopback_base.hpp | 4 |
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; |