-
Notifications
You must be signed in to change notification settings - Fork 654
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
Enhances FluxReceiver internals #1185
Conversation
Signed-off-by: Oleh Dokuka <[email protected]>
Codecov Report
@@ Coverage Diff @@
## master #1185 +/- ##
============================================
- Coverage 73.41% 73.34% -0.08%
+ Complexity 1782 1781 -1
============================================
Files 131 131
Lines 8185 8186 +1
Branches 1125 1128 +3
============================================
- Hits 6009 6004 -5
- Misses 1551 1557 +6
Partials 625 625
Continue to review full report at Codecov.
|
@simonbasle PTAL |
Signed-off-by: Oleh Dokuka <[email protected]>
87e3f64
to
5cbc5fe
Compare
…1185) Signed-off-by: Oleh Dokuka <[email protected]>
@OlegDokuka I squashed and applied the change to 0.9.x branch (5e4bc03) and then forward merge to master. |
This PR fixes the improper behavior of FluxReceiver when subscription sending might be offloaded to a separate thread (which contradicts to the ReactiveStreams Spec, for more info see -> reactive-streams/reactive-streams-jvm#486 (comment))
Also, since all actions of the
FluxReceive
class (includesdrainReceiver
,cancelReceiver
,cleanQueue
,onInboundXXX
) happens within anEventLoop
, it makes no sense to use volatileWIP
which brings extra overhead. The same applies toSpScUnboundedQueue
which can be replaced with the same non-thread-safe analog since there is no racing between offering and draining of dataSigned-off-by: Oleh Dokuka [email protected]