From 001c23fcdb1e881cbcb0532d108218fbdb271cb9 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Fri, 6 Sep 2024 16:57:23 +0200 Subject: Working on a data transfer test --- modules/remote-hip/c++/remote.hpp | 8 +++++++- modules/remote-hip/c++/transfer.hpp | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'modules/remote-hip/c++') diff --git a/modules/remote-hip/c++/remote.hpp b/modules/remote-hip/c++/remote.hpp index 7263aaf..b814ff2 100644 --- a/modules/remote-hip/c++/remote.hpp +++ b/modules/remote-hip/c++/remote.hpp @@ -1,6 +1,7 @@ #pragma once #include "common.hpp" +#include "device.hpp" namespace saw { @@ -104,7 +105,12 @@ public: */ template error_or>> data_listen(remote_address& dev){ - return heap>(dev); + our> dev = nullptr; + auto ins = devs_.emplace(std::make_pair(dev.get_device_id(), our>{nullptr})); + if(ins.second){ + ins.first->second = share>(); + } + return heap>(ins.first->second); } /** diff --git a/modules/remote-hip/c++/transfer.hpp b/modules/remote-hip/c++/transfer.hpp index a81f657..4e76436 100644 --- a/modules/remote-hip/c++/transfer.hpp +++ b/modules/remote-hip/c++/transfer.hpp @@ -22,7 +22,12 @@ public: {} error_or send(const data& dat, id store_id){ - return make_error(); + auto ins = values_.emplace(std::make_pair(store_id.get_value(), data>{dat})); + if(!ins.second){ + return make_error(); + } + + return make_void(); } error_or allocate(const data::MetaSchema, Encoding>& dat, id store_id){ -- cgit v1.2.3