From 44f6a2ec37e35cf96419885be27afeab9ea84ec5 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Mon, 29 Jul 2024 14:53:48 +0200 Subject: wip --- modules/remote/c++/transfer_loopback.hpp | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'modules/remote/c++/transfer_loopback.hpp') diff --git a/modules/remote/c++/transfer_loopback.hpp b/modules/remote/c++/transfer_loopback.hpp index 2e01509..d205776 100644 --- a/modules/remote/c++/transfer_loopback.hpp +++ b/modules/remote/c++/transfer_loopback.hpp @@ -9,24 +9,37 @@ namespace rmt { struct Loopback {}; } +template<> +class remote; + template -class data_server, Encoding, rmt::Loopback> { +class data_server, Encoding, rmt::Loopback> final : public i_data_server { private: typename impl::data_server_redux>::type>::type values_; ptr> remote_; public: data_server(remote_address& addr){ - remote->register_server(addr); + remote_().register_server(addr); } ~data_server(){ - remote->deregister_server(addr); + remote_().deregister_server(addr); } SAW_FORBID_COPY(data_server); SAW_FORBID_MOVE(data_server); + /** + * Return the schema id + */ + std::pair get_class_id() const override { + uint32_t schema_hash = schema_hash>::apply(); + uint32_t encode_hash = schema_hash::apply(); + + return std::make_pair(schema_hash, encode_hash); + } + /** * Get data from client */ -- cgit v1.2.3