summaryrefslogtreecommitdiff
path: root/modules/io_codec/c++
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-07 17:17:43 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-07 17:17:43 +0200
commita51d012bb1e7d34ff5e27bebccd8026bc731515c (patch)
treedae2e55bb97d88377191bd1ff4b835b9c311aae5 /modules/io_codec/c++
parent5f6c71df18a65d5c4023caa08e08f493090c3721 (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.hpp10
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());
}