diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-21 18:01:16 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-21 18:01:16 +0200 |
commit | 4fdfa202eef2419a9f043cd45a3075d6b5e3063f (patch) | |
tree | cc58d4804e81b680ce4ac3c9a47dc902893c0232 /modules/remote | |
parent | 227f9d945d2b99bb33b71442ec229a13d1d29561 (diff) |
Pulling out Storage template
Diffstat (limited to 'modules/remote')
-rw-r--r-- | modules/remote/c++/remote.hpp | 26 | ||||
-rw-r--r-- | modules/remote/c++/remote_loopback.hpp | 20 | ||||
-rw-r--r-- | modules/remote/c++/remote_loopback_base.hpp | 8 |
3 files changed, 27 insertions, 27 deletions
diff --git a/modules/remote/c++/remote.hpp b/modules/remote/c++/remote.hpp index 571a4e7..807213e 100644 --- a/modules/remote/c++/remote.hpp +++ b/modules/remote/c++/remote.hpp @@ -14,13 +14,13 @@ namespace saw { /** * This class acts as a helper for rpc calls and representing data on the remote. */ -template<typename T, typename Encoding, typename Storage> +template<typename T, typename Encoding> class data_or_id { private: /** * Variant representing the either id or data class. */ - std::variant<id<T>, data<T,Encoding, Storage>> doi_; + std::variant<id<T>, data<T,Encoding>> doi_; public: /** * Constructor for instantiating. @@ -32,7 +32,7 @@ public: /** * Constructor for instantiating. */ - data_or_id(data<T,Encoding, Storage> val): + data_or_id(data<T,Encoding> val): doi_{std::move(val)} {} @@ -47,7 +47,7 @@ public: * Check if this class holds data. */ bool is_data() const { - return std::holds_alternative<data<T,Encoding,Storage>>(doi_); + return std::holds_alternative<data<T,Encoding>>(doi_); } /** @@ -60,15 +60,15 @@ public: /** * Return a data reference. */ - data<T,Encoding, Storage>& get_data(){ - return std::get<data<T,Encoding, Storage>>(doi_); + data<T,Encoding>& get_data(){ + return std::get<data<T,Encoding>>(doi_); } /** * Return a data reference. */ - const data<T,Encoding,Storage>& get_data() const { - return std::get<data<T,Encoding,Storage>>(doi_); + const data<T,Encoding>& get_data() const { + return std::get<data<T,Encoding>>(doi_); } }; @@ -76,21 +76,21 @@ public: /** * Representing data on the remote */ -template<typename T, typename Encoding, typename Storage, typename Remote> +template<typename T, typename Encoding, typename Remote> class remote_data; -template<typename Iface, typename Encoding, typename Storage, typename Remote> +template<typename Iface, typename Encoding, typename Remote> class rpc_client; /** * Implementation of a remote server on the backend */ -template<typename Iface, typename Encoding, typename Storage, typename Remote> +template<typename Iface, typename Encoding, typename Remote> class rpc_server { private: - interface<Iface, Encoding, Storage> iface_; + interface<Iface, Encoding> iface_; public: - rpc_server(interface<Iface, Encoding, Storage> iface): + rpc_server(interface<Iface, Encoding> iface): iface_{std::move(iface)} {} }; diff --git a/modules/remote/c++/remote_loopback.hpp b/modules/remote/c++/remote_loopback.hpp index fde410d..308bdc6 100644 --- a/modules/remote/c++/remote_loopback.hpp +++ b/modules/remote/c++/remote_loopback.hpp @@ -9,8 +9,8 @@ namespace saw { -template<typename T, typename Encoding, typename Storage> -class remote_data<T, Encoding, Storage, rmt::Loopback> { +template<typename T, typename Encoding> +class remote_data<T, Encoding, rmt::Loopback> { private: id<T> id_; public: @@ -21,24 +21,24 @@ public: /** * Wait until data arrives */ - error_or<data<T, Encoding, Storage>> wait(wait_scope& wait); + error_or<data<T, Encoding>> wait(wait_scope& wait); /** * Asynchronously wait for a result */ - conveyor<data<T, Encoding, Storage>> on_receive(); + conveyor<data<T, Encoding>> on_receive(); }; /** * Client RPC reference structure */ -template<typename Iface, typename Encoding, typename Storage> -class rpc_client<Iface, Encoding, Storage, rmt::Loopback> { +template<typename Iface, typename Encoding> +class rpc_client<Iface, Encoding, rmt::Loopback> { /** * request the data from the remote */ template<typename IdT> - remote_data<IdT, Encoding, Storage, rmt::Loopback> request_data(id<IdT> data); + remote_data<IdT, Encoding, rmt::Loopback> request_data(id<IdT> data); /** @todo * Determine type based on Name @@ -54,10 +54,10 @@ class rpc_client<Iface, Encoding, Storage, rmt::Loopback> { }; -template<typename Iface, typename Encode, typename Storage> -class rpc_server<Iface, Encode, Storage, rmt::Loopback> { +template<typename Iface, typename Encode> +class rpc_server<Iface, Encode, rmt::Loopback> { public: - using InterfaceT = interface<Iface, Encode, Storage>; + using InterfaceT = interface<Iface, Encode>; private: const remote_address<rmt::Loopback>* addr_; InterfaceT iface_; diff --git a/modules/remote/c++/remote_loopback_base.hpp b/modules/remote/c++/remote_loopback_base.hpp index 87d4393..b53ae49 100644 --- a/modules/remote/c++/remote_loopback_base.hpp +++ b/modules/remote/c++/remote_loopback_base.hpp @@ -61,14 +61,14 @@ public: /** * Connect to a remote */ - template<typename Iface, typename Encode, typename Storage> - conveyor<rpc_client<Iface, Encode, Storage, rmt::Loopback>> connect(const remote_address<rmt::Loopback>& addr); + template<typename Iface, typename Encode> + conveyor<rpc_client<Iface, Encode, rmt::Loopback>> connect(const remote_address<rmt::Loopback>& addr); /** * Start listening */ - template<typename Iface, typename Encode, typename Storage> - rpc_server<Iface, Encode, Storage, rmt::Loopback> listen(const remote_address<rmt::Loopback>& addr, typename rpc_server<Iface,Encode,Storage,rmt::Loopback>::InterfaceT iface){ + template<typename Iface, typename Encode> + rpc_server<Iface, Encode, rmt::Loopback> listen(const remote_address<rmt::Loopback>& addr, typename rpc_server<Iface,Encode,rmt::Loopback>::InterfaceT iface){ return {addr, std::move(iface)}; } |