Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reworks multiplexer and improves tests to check async interceptors #909 #909

Merged
merged 1 commit into from
Aug 7, 2020

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 shadowgun@i.ua

@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
Signed-off-by: Oleh Dokuka <shadowgun@i.ua>
@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.

1 participant