summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-14 10:38:42 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-14 10:38:42 +0200
commit991a5cbfea6b4ae6551a17e3e8ec375aec1a2a62 (patch)
tree6010d55774a62985c1974829f687496ce058b62c
parent2a442407538628b7b04c63c0643d521739de6b69 (diff)
Fixed assignement in data server creation
-rw-r--r--modules/codec/c++/simple.hpp4
-rw-r--r--modules/remote-filesystem/c++/remote.hpp12
-rw-r--r--modules/remote-filesystem/c++/transfer.hpp (renamed from modules/remote-filesystem/c++/transport.hpp)10
-rw-r--r--modules/remote-filesystem/tests/transport.cpp6
4 files changed, 22 insertions, 10 deletions
diff --git a/modules/codec/c++/simple.hpp b/modules/codec/c++/simple.hpp
index b0cdfd9..33831b6 100644
--- a/modules/codec/c++/simple.hpp
+++ b/modules/codec/c++/simple.hpp
@@ -8,7 +8,9 @@
namespace saw {
namespace encode {
-struct KelSimple {};
+struct KelSimple {
+ static constexpr string_literal name = "encode::KelSimple";
+};
}
template<typename T>
diff --git a/modules/remote-filesystem/c++/remote.hpp b/modules/remote-filesystem/c++/remote.hpp
index 8390501..0225bc5 100644
--- a/modules/remote-filesystem/c++/remote.hpp
+++ b/modules/remote-filesystem/c++/remote.hpp
@@ -2,6 +2,7 @@
#include <filesystem>
+#include <forstio/codec/schema_hash.hpp>
#include <forstio/remote/remote.hpp>
namespace saw {
@@ -35,6 +36,8 @@ private:
std::map<std::string, ptr<i_data_server<rmt::File>>> registered_data_servers_;
public:
+ remote() = default;
+
error_or<own<remote_address<rmt::File>>> parse_address(const std::string_view& path_v){
return heap<remote_address<rmt::File>>(path_v);
}
@@ -47,8 +50,15 @@ public:
}
auto dat_srv = heap<data_server<Schema, Encode, rmt::File>>(*this, addr);
- insert_res.first->second = {dat_srv};
+ insert_res.first->second = ptr<i_data_server<rmt::File>>{*dat_srv};
return dat_srv;
}
+
+ /**
+ * Internal deregister function
+ */
+ error_or<void> deregister_data_server(ptr<i_data_server<rmt::File>> srv){
+ return make_error<err::not_implemented>();
+ }
};
}
diff --git a/modules/remote-filesystem/c++/transport.hpp b/modules/remote-filesystem/c++/transfer.hpp
index 0db4600..e3df023 100644
--- a/modules/remote-filesystem/c++/transport.hpp
+++ b/modules/remote-filesystem/c++/transfer.hpp
@@ -2,11 +2,11 @@
#include "remote.hpp"
-#include <forstio/remote/transport.hpp>
+#include <forstio/remote/transfer.hpp>
namespace saw {
-template<typename Schema, typename Encode>
-class data_server<Schema, Encode, rmt::File> final : public i_data_server<rmt::File> {
+template<typename Schema, typename Encoding>
+class data_server<Schema, Encoding, rmt::File> final : public i_data_server<rmt::File> {
private:
ptr<remote<rmt::File>> remote_;
remote_address<rmt::File> addr_;
@@ -19,7 +19,7 @@ public:
{}
~data_server(){
- remote().deregister_data_server(*this);
+ remote_().deregister_data_server(*this);
}
SAW_FORBID_MOVE(data_server);
@@ -30,8 +30,6 @@ public:
}
error_or<void> send(const data<Schema, Encoding>& dat, id<Schema> store_id){
- try {
- }
return make_error<err::not_implemented>();
}
diff --git a/modules/remote-filesystem/tests/transport.cpp b/modules/remote-filesystem/tests/transport.cpp
index 05c13a6..e8df294 100644
--- a/modules/remote-filesystem/tests/transport.cpp
+++ b/modules/remote-filesystem/tests/transport.cpp
@@ -1,5 +1,7 @@
#include <forstio/test/suite.hpp>
-#include "../c++/transport.hpp"
+#include "../c++/transfer.hpp"
+
+#include <forstio/codec/simple.hpp>
namespace {
namespace sch {
@@ -20,7 +22,7 @@ SAW_TEST("File Remote"){
SAW_EOV_EXPECT(eo_addr, "Couldn't parse file");
auto& addr = eo_addr.get_value();
- auto eo_dat_srv = file_remote.data_listen({*addr});
+ auto eo_dat_srv = file_remote.template data_listen<sch::Foo,encode::KelSimple>({*addr});
SAW_EOV_EXPECT(eo_dat_srv, "Couldn't setup data server.");
auto& dat_srv = eo_dat_srv.get_value();