MINOR: conn_stream: Add a flag to notify the mux it must respect the reserve

By setting the flag CO_RFL_KEEP_RSV when calling mux->rcv_buf, the
stream-interface notifies the mux it must keep some space to preserve the
buffer's reserve. This flag is only useful for multiplexers handling structured
data, because in such case, the stream-interface cannot know the real amount of
free space in the channel's buffer.
diff --git a/src/stream_interface.c b/src/stream_interface.c
index 8742a40..3c7284f 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -1210,7 +1210,10 @@
 		 * CS_FL_RCV_MORE on the CS if more space is needed.
 		 */
 		max = channel_recv_max(ic);
-		ret = cs->conn->mux->rcv_buf(cs, &ic->buf, max, flags | (co_data(ic) ? CO_RFL_BUF_WET : 0));
+		ret = cs->conn->mux->rcv_buf(cs, &ic->buf, max,
+		          flags |
+		          (co_data(ic) ? CO_RFL_BUF_WET : 0) |
+		          ((channel_recv_limit(ic) < b_size(&ic->buf)) ? CO_RFL_KEEP_RSV : 0));
 		if (cs->flags & CS_FL_RCV_MORE)
 			si_rx_room_blk(si);