summaryrefslogtreecommitdiff
path: root/modules/remote-sycl/c++/remote.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/remote-sycl/c++/remote.hpp')
-rw-r--r--modules/remote-sycl/c++/remote.hpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/modules/remote-sycl/c++/remote.hpp b/modules/remote-sycl/c++/remote.hpp
index 1ae3103..7e77ec9 100644
--- a/modules/remote-sycl/c++/remote.hpp
+++ b/modules/remote-sycl/c++/remote.hpp
@@ -170,10 +170,11 @@ private:
*/
device<rmt::Sycl>* device_;
+ using DataServerT = data_server<typename impl::rpc_iface_type_helper<Iface>::type, Encoding, rmt::Sycl>;
/**
* Data server storing the relevant data
*/
- data_server<typename impl::rpc_iface_type_helper<Iface>::type, Encoding, rmt::Sycl> data_server_;
+ DataServerT* data_server_;
/**
* The interface including the relevant context class.
@@ -185,9 +186,9 @@ public:
/**
* Main constructor
*/
- rpc_server(device<rmt::Sycl>& dev__, InterfaceT cl_iface):
+ rpc_server(device<rmt::Sycl>& dev__, DataServerT& data_server__, InterfaceT cl_iface):
device_{&dev__},
- data_server_{},
+ data_server_{&data_server__},
cl_interface_{std::move(cl_iface)}
{}
@@ -230,7 +231,7 @@ public:
auto eoinp = [&,this]() -> error_or<data<typename FuncT::RequestT, Encoding, rmt::Sycl>* > {
if(input.is_id()){
// storage_.maps
- auto eov = data_server_.template find<typename FuncT::RequestT>(input.get_id());
+ auto eov = data_server_->template find<typename FuncT::RequestT>(input.get_id());
if(eov.is_error()){
return std::move(eov.get_error());
}
@@ -264,7 +265,7 @@ public:
/**
* Store returned data in rpc storage
*/
- auto eoid = data_server_.template insert<typename schema_member_type<Name, Iface>::type::RequestT>(std::move(val), rpc_id);
+ auto eoid = data_server_->template insert<typename schema_member_type<Name, Iface>::type::RequestT>(std::move(val), rpc_id);
if(eoid.is_error()){
return std::move(eoid.get_error());
}