Skip to content

Conversation

@OlegDokuka
Copy link
Member

@OlegDokuka OlegDokuka commented Aug 6, 2020

This PR reworks ClientServerInputMultiplexer to avoid async enqueueing/dequeuing of the incoming frames when interceptors offload subscription/publication on the different Scheduler, so frame appears released at the time of its consumption (FluxReceiver sends ByteBuf and releases it once onNext is returned -> https://github.com/reactor/reactor-netty/blob/master/reactor-netty-core/src/main/java/reactor/netty/channel/FluxReceive.java#L264).

Basically this PR gets rid of groupBy operator in favor of its drain-free version.

FYI. This PR as well as changes related to refCoutning mechanics brake resumability.
It can wait since there is no usage of this feature in Spring-Messaging, though we should revise the whole resumability implementation before the final 1.1 release.

Signed-off-by: Oleh Dokuka [email protected]

@OlegDokuka OlegDokuka requested a review from rstoyanchev August 6, 2020 21:34
@OlegDokuka OlegDokuka added this to the 1.1 M1 milestone Aug 6, 2020
@OlegDokuka
Copy link
Member Author

@bclozel @rwinch this should fix the mentioned issue related to async interceptors

@OlegDokuka OlegDokuka force-pushed the bugfix/multiplexer-rework branch 5 times, most recently from 93297b3 to ba5ee1c Compare August 7, 2020 08:43
@OlegDokuka OlegDokuka force-pushed the bugfix/multiplexer-rework branch from ba5ee1c to 88079e4 Compare August 7, 2020 09:10
@OlegDokuka OlegDokuka changed the title reworks multiplexer to avoid group operator usage and improves integration tests reworks multiplexer and improves tests to check async interceptors #909 Aug 7, 2020
@OlegDokuka OlegDokuka merged commit 749135e into master Aug 7, 2020
@OlegDokuka OlegDokuka deleted the bugfix/multiplexer-rework branch August 7, 2020 09:32
OlegDokuka added a commit that referenced this pull request Aug 7, 2020
OlegDokuka added a commit that referenced this pull request Aug 7, 2020
OlegDokuka added a commit that referenced this pull request Aug 7, 2020
OlegDokuka added a commit that referenced this pull request Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants