summaryrefslogtreecommitdiff
path: root/modules/remote
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-21 18:01:16 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-21 18:01:16 +0200
commit4fdfa202eef2419a9f043cd45a3075d6b5e3063f (patch)
treecc58d4804e81b680ce4ac3c9a47dc902893c0232 /modules/remote
parent227f9d945d2b99bb33b71442ec229a13d1d29561 (diff)
Pulling out Storage template
Diffstat (limited to 'modules/remote')
-rw-r--r--modules/remote/c++/remote.hpp26
-rw-r--r--modules/remote/c++/remote_loopback.hpp20
-rw-r--r--modules/remote/c++/remote_loopback_base.hpp8
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)};
}