-
Notifications
You must be signed in to change notification settings - Fork 1k
[Streams] Allow GroupBy with infinite output substreams #7607
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
[Streams] Allow GroupBy with infinite output substreams #7607
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Self-review
@@ -419,9 +419,9 @@ public void OnPush() | |||
} | |||
else | |||
{ | |||
if (_activeSubstreams.Count + _closedSubstreams.Count == _stage._maxSubstreams) | |||
if (_stage._maxSubstreams > -1 && _activeSubstreams.Count + _closedSubstreams.Count == _stage._maxSubstreams) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actual fix. Only check substream overflow condition if _maxSubstream
is greater than or equals to 0.
/// </para> | ||
/// See <seealso cref="GroupBy{TIn, TOut, TMat, TKey}(Flow{TIn, TOut, TMat}, int, Func{TOut, TKey}, bool)"/> | ||
/// </summary> | ||
/// <typeparam name="TIn">TBD</typeparam> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Arkatufus just a general note going forward, just don't have a comment instead of a TBD.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Fixes #7514
Changes
maxSubstreams
argument.Flow
andSource
fluent API that does not require themaxSubstreams
argument.Checklist
For significant changes, please ensure that the following have been completed (delete if not relevant):