diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-09-04 11:56:56 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-09-04 11:56:56 +0200 |
commit | 5c6eb70c52a530d9d5779f97a4ce0d312851bd28 (patch) | |
tree | 910073f24d880d972fab77e493cd1919e8cc2048 | |
parent | 3fd0aed1c6efa031c1b457fd953a5128c66ad2f1 (diff) |
Removing tmpl_group temporarily
-rw-r--r-- | modules/remote/c++/transfer_loopback.hpp | 43 | ||||
-rw-r--r-- | modules/remote/tests/remote_loopback.cpp | 92 |
2 files changed, 6 insertions, 129 deletions
diff --git a/modules/remote/c++/transfer_loopback.hpp b/modules/remote/c++/transfer_loopback.hpp index 1a06287..afc9d17 100644 --- a/modules/remote/c++/transfer_loopback.hpp +++ b/modules/remote/c++/transfer_loopback.hpp @@ -98,13 +98,13 @@ public: return ptr<data<Schema,Encoding>>{dat}; } }; - +/* template<typename... Schema, typename Encoding> class data_server<tmpl_group<Schema...>, Encoding, rmt::Loopback> final { private: ptr<remote<rmt::Loopback>> remote_; remote_address<rmt::Loopback> rmt_address_; - std::tuple<data_server<Schema,Encoding,rmt::Loopback>...> values_; + std::tuple<own<data_server<Schema,Encoding,rmt::Loopback>>...> values_; struct inner_register_helper { template<uint64_t i, typename Func> @@ -137,7 +137,7 @@ private: } }; public: - data_server(ptr<remote<rmt::Loopback>> remote__, const remote_address<rmt::Loopback>& addr, std::tuple<data_server<Schema,Encoding>...>&& values__): + data_server(ptr<remote<rmt::Loopback>> remote__, const remote_address<rmt::Loopback>& addr, std::tuple<own<data_server<Schema,Encoding,rmt::Loopback>>...>&& values__): remote_{remote__}, rmt_address_{addr}, values_{std::move(values__)} @@ -151,9 +151,6 @@ public: SAW_FORBID_COPY(data_server); SAW_FORBID_MOVE(data_server); - /** - * Get data from client - */ template<typename Sch> error_or<void> send(const data<Sch, Encoding>& dat, id<Sch> store_id){ auto& vals = std::get<std::unordered_map<uint64_t, data<Sch,Encoding>>>(values_); @@ -169,9 +166,6 @@ public: return void_t{}; } - /** - * - */ template<typename Sch> error_or<void> allocate(data<typename meta_schema<Sch>::MetaSchema, Encoding> meta, id<Sch> store_id){ auto& vals = std::get<std::unordered_map<uint64_t, data<Sch,Encoding>>>(values_); @@ -221,6 +215,7 @@ public: return &dat; } }; +*/ template<typename Schema, typename Encoding> class data_client<Schema, Encoding, rmt::Loopback> final { @@ -300,25 +295,14 @@ public: } }; -/** - * Client for transporting data to remote and receiving data back - */ +/* template<typename... Schema, typename Encoding> class data_client<tmpl_group<Schema...>, Encoding, rmt::Loopback> { private: - /** - * Corresponding server for this client - */ ptr<data_server<tmpl_group<Schema...>, Encoding, rmt::Loopback>> srv_; - /** - * The next id for identifying issues on the remote side. - */ uint64_t next_id_; public: - /** - * Main constructor - */ data_client(ptr<data_server<tmpl_group<Schema...>, Encoding, rmt::Loopback>> srv__): srv_{srv__}, next_id_{0u} @@ -327,9 +311,6 @@ public: SAW_FORBID_COPY(data_client); SAW_DEFAULT_MOVE(data_client); - /** - * Send data to the remote. - */ template<typename Sch> error_or<id<Sch>> send(const data<Sch, Encoding>& dat){ id<Sch> dat_id{next_id_}; @@ -343,9 +324,6 @@ public: return dat_id; } - /** - * Preallocate data - */ template<typename Sch> error_or<id<Sch>> allocate(const data<typename meta_schema<Sch>::MetaSchema, Encoding>& meta){ id<Sch> dat_id{next_id_}; @@ -358,9 +336,6 @@ public: return dat_id; } - /** - * Receive data - */ template<typename Sch> conveyor<data<Sch, Encoding>> receive(id<Sch> dat_id){ auto eov = srv_().receive(dat_id); @@ -373,18 +348,11 @@ public: return std::move(val); } - /** - * Erase data - */ template<typename Sch> error_or<void> erase(id<Sch> dat_id){ return srv_().erase(dat_id); } - /** - * An exception for the Loopback backend. Here we can safely use find from - * the client side. - */ template<typename Sch> error_or<data<Sch, Encoding>*> find(id<Sch> dat_id){ auto eov = srv_().find(dat_id); @@ -397,5 +365,6 @@ public: return val; } }; +*/ } diff --git a/modules/remote/tests/remote_loopback.cpp b/modules/remote/tests/remote_loopback.cpp index eca107f..bc04605 100644 --- a/modules/remote/tests/remote_loopback.cpp +++ b/modules/remote/tests/remote_loopback.cpp @@ -10,12 +10,6 @@ using TestInterface = Interface< Member<Function<UInt32, Int64>, "foo"> >; -using GroupedSchemas = saw::tmpl_group< - UInt64, - String, - Array<Int32>, - Float64 ->; } SAW_TEST("Remote Loopback Data"){ @@ -95,90 +89,4 @@ SAW_TEST("Remote Loopback Data"){ } } -SAW_TEST("Remote Loopback Grouped Data"){ - using namespace saw; - - event_loop loop; - wait_scope wait{loop}; - - remote<rmt::Loopback> rmt; - - auto eov = rmt.parse_address(0u); - SAW_EXPECT(eov.is_value(), "Didn't parse correctly"); - auto& addr = eov.get_value(); - - auto eo_srv = rmt.template data_listen<sch::GroupedSchemas, encode::Native>(*addr); - SAW_EXPECT(eo_srv.is_value(), std::string{"Couldn't listen: "} + std::string{eo_srv.get_error().get_category()}); - auto& srv = eo_srv.get_value(); - - auto cvr_client = rmt.template data_connect<sch::GroupedSchemas, encode::Native>(*addr); - auto eo_client = cvr_client.take(); - SAW_EXPECT(eo_client.is_value(), "Couldn't connect."); - auto& client = eo_client.get_value(); - - data<sch::UInt64> foo{421}; - id<sch::UInt64> sent_id = [&](){ - auto eov = client.send(foo); - SAW_EXPECT(eov.is_value(), "Failed send."); - return eov.get_value(); - }(); - - { - auto conv = client.receive(sent_id); - auto eov = conv.take(); - - SAW_EXPECT(eov.is_value(), "Failed receive."); - SAW_EXPECT(eov.get_value() == foo, "Wrong received value."); - } - { - auto eov = client.find(sent_id); - SAW_EXPECT(eov.is_value(), "Failed find."); - auto& f_val = eov.get_value(); - SAW_EXPECT(f_val, "Nullptr in find."); - SAW_EXPECT(*f_val == foo, "Wrong received value."); - } - { - auto eov = client.erase(sent_id); - SAW_EXPECT(eov.is_value(), "Failed erase."); - } - { - auto conv = client.receive(sent_id); - auto eov = conv.take(); - SAW_EXPECT(!eov.is_value(), "Failed receive. Value should already be erased."); - } - - id<sch::UInt64> alloc_id = [&](){ - auto eov = client.allocate<sch::UInt64>(data<sch::Void>{}); - SAW_EXPECT(eov.is_value(), "Failed send."); - return eov.get_value(); - }(); - { - auto eov = client.find(alloc_id); - SAW_EXPECT(eov.is_value(), "Failed find."); - auto& f_val = eov.get_value(); - SAW_EXPECT(f_val, "Nullptr in find."); - f_val->set(5u); - } - { - auto conv = client.receive(alloc_id); - auto eov = conv.take(); - SAW_EXPECT(eov.is_value(), "Failed receive."); - SAW_EXPECT(eov.get_value().get() == 5u, "Wrong received value."); - } - - data<sch::FixedArray<sch::UInt64,1>> arr_meta{{128u}}; - - id<sch::Array<sch::Int32>> arr_alloc_id = [&](){ - auto eov = client.allocate<sch::Array<sch::Int32>>(arr_meta); - SAW_EXPECT(eov.is_value(), "Failed send."); - return eov.get_value(); - }(); - { - auto eov = client.find(arr_alloc_id); - SAW_EXPECT(eov.is_value(), "Failed find."); - auto& f_val = eov.get_value(); - SAW_EXPECT(f_val, "Nullptr in find."); - SAW_EXPECT(f_val->size() == arr_meta.at(0).get(), "Wrong initialized size."); - } -} } |