diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-07 13:26:58 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-07 13:26:58 +0200 |
commit | e4525015f88bcb7d9906a875210f759621f2b3c3 (patch) | |
tree | f0105983f8afdc0bfd257ac8e8e9246cb87f4112 /modules/io_codec/c++/io_peer.tmpl.hpp | |
parent | 3beda6ac36f494df11851b657a4bcc967bceb79d (diff) |
wip
Diffstat (limited to 'modules/io_codec/c++/io_peer.tmpl.hpp')
-rw-r--r-- | modules/io_codec/c++/io_peer.tmpl.hpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index 7329eb2..d6d6364 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<Incoming, Outgoing, TransportEncoding, ContentEncoding, streaming_io_peer( own<conveyor_feeder<data<Incoming, ContentEncoding>>> feed, own<async_io_stream> str) - : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}, {}} {} + : streaming_io_peer{std::move(feed), std::move(str), {}, {}, {}} {} template <typename Incoming, typename Outgoing, typename TransportEncoding, typename ContentEncoding, typename BufferT> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, @@ -51,9 +51,9 @@ streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, return std::move(eo_len.get_error()); } auto& len_val = eo_len.get_value(); - in_buffer->write_advance(len_val); + in_buffer_.write_advance(len_val); - data<Incoming, ContentEncoding> in_data{std::move(array_buffer)}; + data<Incoming, ContentEncoding> in_data{std::move(in_buff)}; incoming_feeder_->feed(std::move(in_data)); } @@ -75,7 +75,12 @@ streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, return void_t{}; }) - .sink()} { + .sink() + }, + conveyor_feeder_{ + *this + } +{ io_stream_->read(&in_buffer_.write(), 1, in_buffer_.write_segment_length()); } @@ -86,9 +91,11 @@ error_or<void> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentE msg) { bool restart_write = out_buffer_.read_segment_length() == 0; + /* if (eov.is_error()) { return eov; } + */ if (restart_write) { io_stream_->write(&out_buffer_.read(), |