-
Notifications
You must be signed in to change notification settings - Fork 593
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
Async flow control #1681
Async flow control #1681
Conversation
1119ba3
to
550ba8c
Compare
@stebet @bollhals @paulomorgado would appreciate a look since this is some non trivial magic. |
84bbe42
to
c00b1f4
Compare
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.
Thank you @danielmarbach
Should we worry about the scenario where flow control is active and a publisher just keeps on going? I'm assuming this will "pile up" tasks/continuations/"under the hood magic" behind the scenes. Should there be a limit to the number of publishes that can happen while blocked by flow control? |
Assuming this is actually a problem that requires to be solved isn't this already an issue before this change? |
With these changes in we will have also the door open to implement IAsyncDisposable across both TFMs. |
Ah, ok, this will only be a problem if someone is not immediately await-ing the |
7e3ba9f
to
ea6fdcc
Compare
FYI I did not setup the commit signing on my temporary device while my main macbook is on repair. When I rebased on my temporary device the commit signing got lost |
No worries, I'm not too worried about anyone doing an xz-utils-style exploit via this library 😉 😆 |
Looks good to me, but since I'm currently on vacation, it's a bit difficult to judge the new class. Is it inspired from somewhere? I think I only used a similar class once so far. |
Then I the implementation will be good 👍🏼 |
We should keep a link to the articles. Here's the new home: Just in case, here are the others:
|
Having here in the PR is more then enough especially considering the implementation I provided is significantly different due to modernizations applied |
Proposed Changes
Addresses #1644
Types of Changes
What types of changes does your code introduce to this project?
Put an
x
in the boxes that applyChecklist
Put an
x
in the boxes that apply. You can also fill these out after creatingthe PR. If you're unsure about any of them, don't hesitate to ask on the
mailing list. We're here to help! This is simply a reminder of what we are
going to look for before merging your code.
CONTRIBUTING.md
documentFurther Comments
If this is a relatively large or complex change, kick off the discussion by
explaining why you chose the solution you did and what alternatives you
considered, etc.