From f2a1a3f56768d9aa03796808206f067daa5e0aa0 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Mon, 21 Oct 2024 17:52:46 +0200 Subject: Working towards proper rpc reference example --- modules/remote/c++/remote_loopback.hpp | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) (limited to 'modules/remote/c++/remote_loopback.hpp') diff --git a/modules/remote/c++/remote_loopback.hpp b/modules/remote/c++/remote_loopback.hpp index 308bdc6..8763b68 100644 --- a/modules/remote/c++/remote_loopback.hpp +++ b/modules/remote/c++/remote_loopback.hpp @@ -53,22 +53,35 @@ class rpc_client { */ }; - template class rpc_server { public: using InterfaceT = interface; + using TypeGroup = typename schema_iface_type_group::Type; + using DataServers = typename impl::tmpl_group_to_data_server_ptr_std_tuple::type; private: - const remote_address* addr_; + ptr> remote_; + const ptr> addr_; InterfaceT iface_; + DataServers dat_srvs_; + public: - rpc_server(const remote_address& addr__, InterfaceT iface__): - addr_{&addr__}, - iface_{std::move(iface__)} + rpc_server(ptr> remote__, const remote_address& addr__, InterfaceT iface__, DataServers data_srvs__): + remote_{remote__}, + addr_{addr__}, + iface_{std::move(iface__)}, + data_srvs_{data_srvs__} {} - // error_or> - // conveyor<> call + template + error_or< + id< + typename schema_member_type::type::Response + > + > call(id::type::Request> id_param){ + + return make_error(); + } }; } -- cgit v1.2.3