From ba3207c9857621e4517eedf7213548b0350e03a2 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Mon, 6 May 2024 10:43:17 +0200 Subject: io_codec: Fixing up compilation for now --- modules/io_codec/c++/io_peer.hpp | 2 +- modules/io_codec/c++/io_peer.tmpl.hpp | 46 +++++++++++++++++------------------ 2 files changed, 23 insertions(+), 25 deletions(-) diff --git a/modules/io_codec/c++/io_peer.hpp b/modules/io_codec/c++/io_peer.hpp index 3efb4c0..ab26f61 100644 --- a/modules/io_codec/c++/io_peer.hpp +++ b/modules/io_codec/c++/io_peer.hpp @@ -35,7 +35,7 @@ public: /** * Send a message to the remote peer */ - error_or send(data builder); + error_or send(data builder); /** * A phantom conveyor feeder. Meant for interfacing with other components diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index 28bbbfb..e1863fc 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -9,9 +9,8 @@ streaming_io_peer str) : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}} {} -template -streaming_io_peer +streaming_io_peer:: streaming_io_peer( own>> feed, @@ -27,7 +26,7 @@ streaming_io_peer("Message too long"); } io_stream_->read(&in_buffer_.write(), 1, @@ -74,16 +73,18 @@ streaming_io_peer -error_or streaming_io_peer::send(heap_message_root + typename Encoding, typename BufferT> +error_or streaming_io_peer::send(data msg) { bool restart_write = out_buffer_.read_segment_length() == 0; - error err = - codec_.template encode(msg.read(), out_buffer_); - if (err.failed()) { - return err; + data enc; + + auto eov = + out_codec_.encode(msg, enc);//msg.read(), out_buffer_); + if (eov.is_error()) { + return eov; } if (restart_write) { @@ -91,28 +92,25 @@ error_or streaming_io_peer +template conveyor -streaming_io_peer::on_read_disconnected() { return io_stream_->on_read_disconnected(); } -template -std::pair>, - conveyor>> -newstreaming_io_peer(own stream) { +template +std::pair>, + conveyor>> +new_streaming_io_peer(own stream) { auto caf = - new_conveyor_and_feeder>(); + new_conveyor_and_feeder>(); - return {heap>( + return {heap>( std::move(caf.feeder), std::move(stream)), std::move(caf.conveyor)}; } -- cgit v1.2.3