From 0e80c34f73ab0cf986675b1ac5e78e6f14eca623 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Wed, 14 Aug 2024 21:34:50 +0200 Subject: Added Remote file server class --- .../examples/remote_read_file.cpp | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 modules/remote-filesystem/examples/remote_read_file.cpp (limited to 'modules/remote-filesystem/examples/remote_read_file.cpp') diff --git a/modules/remote-filesystem/examples/remote_read_file.cpp b/modules/remote-filesystem/examples/remote_read_file.cpp new file mode 100644 index 0000000..b0b2c89 --- /dev/null +++ b/modules/remote-filesystem/examples/remote_read_file.cpp @@ -0,0 +1,59 @@ +#include "../c++/transfer.hpp" + +#include + +#include + +namespace sch { +using namespace saw::schema; + +using Foo = Struct< + Member, + Member +>; +} + +int main(){ + using namespace saw; + + remote file_remote; + + auto eo_addr = file_remote.parse_address("./example_file"); + if(eo_addr.is_error()){ + return 1; + } + auto& addr = eo_addr.get_value(); + + auto eo_dat_srv = file_remote.template data_listen({*addr}); + if(eo_dat_srv.is_error()){ + return 2; + } + auto& dat_srv = eo_dat_srv.get_value(); + + std::string a = "blafoobla"; + int64_t b = 42; + + { + + id foo_id{0u}; + auto eo_recv = dat_srv->receive(foo_id); + if(eo_recv.is_error()){ + auto& err = eo_recv.get_error(); + std::cerr<<"Error: "< nat_foo; + codec smp_cod; + auto eov = smp_cod.decode(recv, nat_foo); + if(eov.is_error()){ + return 3; + } + + std::cout<<"a: "; + for(uint64_t i = 0; i < nat_foo.template get<"a">().size();++i) std::cout<().at(i); + std::cout<<"\nb: "<().get()<