summaryrefslogtreecommitdiff
path: root/modules/remote/c++/remote_loopback_base.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remote/c++/remote_loopback_base.hpp')
-rw-r--r--modules/remote/c++/remote_loopback_base.hpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/modules/remote/c++/remote_loopback_base.hpp b/modules/remote/c++/remote_loopback_base.hpp
index 6ca244f..5664f77 100644
--- a/modules/remote/c++/remote_loopback_base.hpp
+++ b/modules/remote/c++/remote_loopback_base.hpp
@@ -50,6 +50,21 @@ private:
};
std::map<key_t, ptr<i_data_server<rmt::Loopback>>> registered_data_servers_;
+ std::map<key_t, ptr<i_rpc_server<rmt::Loopback>>> registered_rpc_servers_;
+
+ 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){
+
+ }
+
+ template<typename Iface, typename Encoding>
+ error_or<typename rpc_server<Iface, Encoding, rmt::Loopback>::DataServers> find_data_servers(){
+ typename rpc_server<Iface,Encoding,rmt::Loopback>::DataServers> ret_val;
+
+
+
+ return ret_val;
+ }
public:
/**
* Resolves an address for the remote
@@ -68,8 +83,9 @@ public:
* Start listening
*/
template<typename Iface, typename Encode>
- rpc_server<Iface, Encode, rmt::Loopback> rpc_listen(const remote_address<rmt::Loopback>& addr, typename rpc_server<Iface,Encode,rmt::Loopback>::InterfaceT iface){
- return {addr, std::move(iface)};
+ error_or<own<rpc_server<Iface, Encode, rmt::Loopback>>> rpc_listen(const remote_address<rmt::Loopback>& addr, typename rpc_server<Iface,Encode,rmt::Loopback>::InterfaceT iface){
+
+ return heap<rpc_server<Iface,Encode,rmt::Loopback>>({*this}, addr, std::move(iface));
}
/**