From f802fb4d988a9b6ebfe49120343561232396cab6 Mon Sep 17 00:00:00 2001 From: "Claudius \"keldu\" Holeksa" Date: Sat, 20 Jul 2024 16:57:22 +0200 Subject: wip --- modules/codec/c++/simple.hpp | 4 ++++ modules/io_codec/c++/io_peer.tmpl.hpp | 21 +++++---------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/modules/codec/c++/simple.hpp b/modules/codec/c++/simple.hpp index b0b353e..1afdc33 100644 --- a/modules/codec/c++/simple.hpp +++ b/modules/codec/c++/simple.hpp @@ -18,6 +18,10 @@ private: public: data() = default; + data(ring_buffer buffer__): + buffer_{std::move(buffer__)} + {} + buffer& get_buffer(){ return buffer_; } diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index 4e20bd0..a3ef9b6 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -7,7 +7,7 @@ streaming_io_peer>> feed, own str) - : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}} {} + : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}, {}} {} template streaming_io_peer(in_view); - auto nat_data = data{}; - - error err = in_codec_.template decode( - in_data, nat_data); - if (err.is_critical()) { - return err; - } - - if (!err.failed()) { - incoming_feeder_->feed(std::move(nat_data)); - } else { - break; - } + auto in_data = data{in_view}; + + incoming_feeder_->feed(std::move(in_data)); } return void_t{}; @@ -108,7 +97,7 @@ std::pair>, conveyor>> new_streaming_io_peer(own stream) { auto caf = - new_conveyor_and_feeder>(); + new_conveyor_and_feeder>(); return {heap>( std::move(caf.feeder), std::move(stream)), -- cgit v1.2.3