diff options
author | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-07 17:17:43 +0200 |
---|---|---|
committer | Claudius 'keldu' Holeksa <mail@keldu.de> | 2024-08-07 17:17:43 +0200 |
commit | a51d012bb1e7d34ff5e27bebccd8026bc731515c (patch) | |
tree | dae2e55bb97d88377191bd1ff4b835b9c311aae5 /modules/io_codec/c++ | |
parent | 5f6c71df18a65d5c4023caa08e08f493090c3721 (diff) |
Weird behaviour in peer client. Connection being established even though
no server exists
Diffstat (limited to 'modules/io_codec/c++')
-rw-r--r-- | modules/io_codec/c++/io_peer.tmpl.hpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index f4f965f..4deabd3 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -91,13 +91,15 @@ error_or<void> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentE msg) { bool restart_write = (out_buffer_.read_segment_length() == 0u); - /* + auto eov = out_buffer_.write_from(msg.get_buffer()); if (eov.is_error()) { - return eov; + auto& err = eov.get_error(); + return std::move(err); } - */ + auto& len_val = eov.get_value(); + out_buffer_.write_advance(len_val); - if (false && restart_write) { + if (restart_write && out_buffer_.read_segment_length() > 0u) { io_stream_->write(&out_buffer_.read(), out_buffer_.read_segment_length()); } |