diff options
Diffstat (limited to 'modules/io_codec/c++')
-rw-r--r-- | modules/io_codec/c++/io_peer.tmpl.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index faf8c7b..a9f942d 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -52,6 +52,7 @@ streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, } auto& len_val = eo_len.get_value(); in_buffer_.write_advance(len_val); + in_buff->write_advance(len_val); data<Incoming, ContentEncoding> in_data{std::move(in_buff)}; incoming_feeder_->feed(std::move(in_data)); @@ -84,13 +85,20 @@ streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, io_stream_->read(&in_buffer_.write(), 1, in_buffer_.write_segment_length()); } +} +#include <iostream> +namespace saw { + template <typename Incoming, typename Outgoing, typename TransportEncoding, typename ContentEncoding, typename BufferT> error_or<void> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentEncoding, BufferT>::send(data<Outgoing, ContentEncoding> msg) { + std::cout<<"O: "<<out_buffer_.read_segment_length()<<std::endl; bool restart_write = (out_buffer_.read_segment_length() == 0u); + std::cout<<"A: "<<out_buffer_.read_segment_length()<<std::endl; + auto& msg_buff = msg.get_buffer(); { auto eov = in_codec_.wrap(out_buffer_, msg_buff); @@ -100,6 +108,7 @@ error_or<void> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentE } // auto& len_val = eov.get_value(); } + std::cout<<"B"<<std::endl; auto eov = out_buffer_.write_from(msg_buff); if (eov.is_error()) { @@ -108,11 +117,14 @@ error_or<void> streaming_io_peer<Incoming, Outgoing, TransportEncoding, ContentE } auto& len_val = eov.get_value(); out_buffer_.write_advance(len_val); + std::cout<<"C"<<std::endl; if (restart_write && out_buffer_.read_segment_length() > 0u) { + std::cout<<"D"<<std::endl; io_stream_->write(&out_buffer_.read(), out_buffer_.read_segment_length()); } + std::cout<<"E"<<std::endl; return void_t{}; } |