From b048b02732cbfcfbb95bb8e16dec71aca0e977f4 Mon Sep 17 00:00:00 2001 From: Claudius 'keldu' Holeksa Date: Wed, 16 Oct 2024 18:51:50 +0200 Subject: Reworked abstraction for network --- modules/io_codec/c++/io_peer.hpp | 18 ++++++++++-------- modules/io_codec/c++/io_peer.tmpl.hpp | 29 ++++++++++++++--------------- 2 files changed, 24 insertions(+), 23 deletions(-) (limited to 'modules/io_codec/c++') diff --git a/modules/io_codec/c++/io_peer.hpp b/modules/io_codec/c++/io_peer.hpp index 0cb3959..d29c7b8 100644 --- a/modules/io_codec/c++/io_peer.hpp +++ b/modules/io_codec/c++/io_peer.hpp @@ -10,6 +10,7 @@ namespace saw { template class streaming_io_peer { private: @@ -20,14 +21,14 @@ public: */ streaming_io_peer( own>> feed, - own stream, transport in_codec); + own> stream, transport in_codec); /** * Constructor with mostly default assignements */ streaming_io_peer( own>> feed, - own stream); + own> stream); /** * Deleted copy and move constructors @@ -54,8 +55,8 @@ private: : public conveyor_feeder> { public: peer_conveyor_feeder( - streaming_io_peer &peer_) - : peer_{peer_} {} + streaming_io_peer &peer__) + : peer_{peer__} {} void feed(data &&data_) override { (void)data_; @@ -69,7 +70,7 @@ private: error_or swap(conveyor> &&) noexcept override { return make_error();} private: - streaming_io_peer &peer_; }; @@ -77,7 +78,7 @@ private: own>> incoming_feeder_ = nullptr; - own io_stream_; + own> io_stream_; transport in_codec_; @@ -99,10 +100,11 @@ private: */ template -std::pair>, +std::pair>, conveyor>> -new_streaming_io_peer(own stream); +new_streaming_io_peer(own> stream); } // namespace saw diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index 0322631..e046f92 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -1,25 +1,24 @@ namespace saw { } -#include namespace saw { -template -streaming_io_peer:: streaming_io_peer( own>> feed, - own str) + own> str) : streaming_io_peer{std::move(feed), std::move(str), {}} {} -template -streaming_io_peer +streaming_io_peer:: streaming_io_peer( own>> feed, - own stream, transport in_codec) + own> stream, transport in_codec) : incoming_feeder_{std::move(feed)}, io_stream_{std::move(stream)}, in_codec_{std::move(in_codec)}, @@ -99,8 +98,8 @@ streaming_io_peer -error_or streaming_io_peer +error_or streaming_io_peer::send(data msg) { bool restart_write = (out_buffer_.read_segment_length() == 0u); @@ -132,10 +131,10 @@ error_or streaming_io_peer conveyor -streaming_io_peer::on_disconnected() { io_read_disconnected_ = io_stream_->on_read_disconnected().then([this](){ if(disconnect_feeder_){ @@ -148,14 +147,14 @@ streaming_io_peer -std::pair>, +template +std::pair>, conveyor>> -new_streaming_io_peer(own stream) { +new_streaming_io_peer(own> stream) { auto caf = new_conveyor_and_feeder>(); - return {heap>( + return {heap>( std::move(caf.feeder), std::move(stream)), std::move(caf.conveyor)}; } -- cgit v1.2.3