Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a proposal to mitigate the async send issues, see #505
⚠️ This is a breaking change as some misuse could work but with unexpected behavior.
Using arguments when calling async send is helpful but does not match the libuv implementation that will coalesce calls.
Properly supporting multiple calls is a lot of work and may not be interesting for luv.
I propose to restrict the usage by allowing arguments only when async send is used just once.
It is still possible to call multiple times async send without arguments which is the libuv API.
It seems to me to be a simple but necessary fix.
Another option would be to use a lock to be able to change the arguments and free the not yet received ones, but there will be no guaranty on which arguments will be effectively received. This option is only interesting to avoid breaking existing misuse.