There are some upcoming Reactor Netty changes that are coming on flushing behavior. NettyOutbound#sendGroups may be potentially removed (not sure yet) and NettyOutbound#send could be potentially usable by default for streaming use case. But we need to keep a consistent behavior across all engines, so not sure yet what we should do but this will require an update on Spring side. cc @smaldini @violetagg

Comment From: violetagg

We will keep NettyOutbound#sendGroups. It is implemented now with one send operation. There is now also an API for sending with a Predicate that can enforce flush operation. https://github.com/reactor/reactor-netty/pull/769

Comment From: rstoyanchev

We can still update the places internally that use writeAndFlushWith.

Comment From: sdeleuze

@rstoyanchev Could you please elaborate?

Comment From: sdeleuze

As discussed in today Reactive meeting, the scope of this issue is to align Spring public API like ReactiveHttpOutputMessage#writeAndFlushWith(Publisher<? extends Publisher<? extends DataBuffer>>) (and related implementations) in order to avoid nested publishers for streaming use case in order to generate less GC pressure, taking inspiration from Reactor Netty has done.

This is too late to do it in 5.2, especially given the fact that an update of the Servlet Reactive bridge is needed as pointed out by @rstoyanchev and @violetagg, but that's seems a good candidate for 5.3.

Comment From: sdeleuze

I decline this issue due to the lack of traction for this enhancement.