From fad5d37382552af7328dd67d038c1eaf44cf0aee Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Tue, 13 Aug 2024 23:36:59 +0200 Subject: Wip for FS remotes --- modules/remote-filesystem/c++/transport.hpp | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 modules/remote-filesystem/c++/transport.hpp (limited to 'modules/remote-filesystem/c++/transport.hpp') diff --git a/modules/remote-filesystem/c++/transport.hpp b/modules/remote-filesystem/c++/transport.hpp new file mode 100644 index 0000000..367f533 --- /dev/null +++ b/modules/remote-filesystem/c++/transport.hpp @@ -0,0 +1,53 @@ +#pragma once + +#include "remote.hpp" + +#include + +namespace saw { +template +class data_server final : public i_data_server { +private: + ptr> remote_; + remote_address addr_; +public: + static constexpr std::pair class_id{schema_hash::apply(), schema_hash::apply()}; + + data_server(ptr> remote__, ref> addr__): + remote_{remote__}, + addr_{addr__()} + {} + + ~data_server(){ + remote().deregister_data_server(*this); + } + + SAW_FORBID_MOVE(data_server); + SAW_FORBID_COPY(data_server); + + std::pair get_class_id() const override { + return class_id; + } + + error_or send(const data& dat, id store_id){ + try { + } + + return make_error(); + } + + error_or allocate(data::MetaSchema, Encoding> meta, id store_id){ + + return make_error(); + } + + error_or erase(id store_id){ + return make_error(); + } + + error_or> receive(id store_id){ + + } + +}; +} -- cgit v1.2.3