From 977ac8bce989285eaabc76c4ed8571ce5fd6793a Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Mon, 22 Jul 2024 17:44:27 +0200 Subject: wip --- modules/remote/c++/remote.hpp | 2 ++ modules/remote/c++/remote_loopback.hpp | 15 +++++++++++++-- modules/remote/c++/transfer.hpp | 6 ++++++ modules/remote/c++/transfer_loopback.hpp | 4 ++++ 4 files changed, 25 insertions(+), 2 deletions(-) (limited to 'modules/remote/c++') diff --git a/modules/remote/c++/remote.hpp b/modules/remote/c++/remote.hpp index fd6f4e6..72c9cce 100644 --- a/modules/remote/c++/remote.hpp +++ b/modules/remote/c++/remote.hpp @@ -8,6 +8,8 @@ #include +#include "transfer.hpp" + namespace saw { /** * This class acts as a helper for rpc calls and representing data on the remote. diff --git a/modules/remote/c++/remote_loopback.hpp b/modules/remote/c++/remote_loopback.hpp index 76aab69..10ac79c 100644 --- a/modules/remote/c++/remote_loopback.hpp +++ b/modules/remote/c++/remote_loopback.hpp @@ -55,6 +55,16 @@ class rpc_client { template<> class remote_address { +private: + data addr_id_; +public: + remote_address(data addr_id__): + addr_id_{addr_id__} + {} + + const data& get_address_id() const { + return addr_id_; + } }; template @@ -75,12 +85,13 @@ public: template<> class remote { +private: public: /** * Resolves an address for the remote */ - error_or>> parse_address(){ - return heap>(); + error_or>> parse_address(data id){ + return heap>(id); } /** diff --git a/modules/remote/c++/transfer.hpp b/modules/remote/c++/transfer.hpp index 2fdd0b9..ea61d56 100644 --- a/modules/remote/c++/transfer.hpp +++ b/modules/remote/c++/transfer.hpp @@ -1,6 +1,12 @@ #pragma once namespace saw { +template +class i_data_server { +protected: + virtual ~i_data_server() = default; +}; + template class data_server; diff --git a/modules/remote/c++/transfer_loopback.hpp b/modules/remote/c++/transfer_loopback.hpp index abea83f..9d026f2 100644 --- a/modules/remote/c++/transfer_loopback.hpp +++ b/modules/remote/c++/transfer_loopback.hpp @@ -13,7 +13,11 @@ template class data_server, Encoding, rmt::Loopback> { private: typename impl::data_server_redux>::type>::type values_; + + ptr> remote_; public: + data_server(remote_address& addr) + /** * Get data from client */ -- cgit v1.2.3