diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/io/examples/echo_client.cpp | 4 | ||||
-rw-r--r-- | modules/io_codec/c++/io_peer.hpp | 7 | ||||
-rw-r--r-- | modules/io_codec/c++/io_peer.tmpl.hpp | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/modules/io/examples/echo_client.cpp b/modules/io/examples/echo_client.cpp index fa9781d..53ebe54 100644 --- a/modules/io/examples/echo_client.cpp +++ b/modules/io/examples/echo_client.cpp @@ -50,6 +50,10 @@ int main(){ keep_running = false; }).detach(); + + async_rmt->on_read_disconnected().then([&](){ + keep_running = false; + }).detach(); }).detach(); }).detach(); diff --git a/modules/io_codec/c++/io_peer.hpp b/modules/io_codec/c++/io_peer.hpp index 9ba623f..a92e236 100644 --- a/modules/io_codec/c++/io_peer.hpp +++ b/modules/io_codec/c++/io_peer.hpp @@ -14,13 +14,14 @@ template <typename Codec, typename Incoming, typename Outgoing, class streaming_io_peer { public: /** - * + * Constructor with the option to provide a custom codec, in and out buffer */ streaming_io_peer( own<conveyor_feeder<heap_message_root<Incoming, InContainer>>> feed, own<async_io_stream> stream, Codec codec, BufferT in, BufferT out); + /** - * + * Constructor */ streaming_io_peer( own<conveyor_feeder<heap_message_root<Incoming, InContainer>>> feed, @@ -35,7 +36,7 @@ public: /** * Send a message to the remote peer */ - error send(heap_message_root<Outgoing, OutContainer> builder); + error_or<void> send(heap_message_root<Outgoing, OutContainer> builder); /** * A phantom conveyor feeder. Meant for interfacing with other components diff --git a/modules/io_codec/c++/io_peer.tmpl.hpp b/modules/io_codec/c++/io_peer.tmpl.hpp index 880a58a..342ca42 100644 --- a/modules/io_codec/c++/io_peer.tmpl.hpp +++ b/modules/io_codec/c++/io_peer.tmpl.hpp @@ -72,7 +72,7 @@ streaming_io_peer<Codec, Incoming, Outgoing, InContainer, OutContainer, template <typename Codec, typename Incoming, typename Outgoing, typename InContainer, typename OutContainer, typename BufferT> -error streaming_io_peer<Codec, Incoming, Outgoing, InContainer, OutContainer, +error_or<void> streaming_io_peer<Codec, Incoming, Outgoing, InContainer, OutContainer, BufferT>::send(heap_message_root<Outgoing, OutContainer> msg) { bool restart_write = out_buffer_.read_segment_length() == 0; |