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.
A request was made to expose cURL sockets to userland so they may be used in external event loops.
The original request suggested we use curls export of fdsets, this looked pretty restricted though when I came to implement it, and exporting the set for every select also didn't look very performant.
cURL has provided these API's for a long time, a very long time, and we have never implemented them, I'm not certain of the reasons for that.
This has reintroduced resources in cURL, but there's no other reasonable way to do this ...
To opt-in to socket management you must set a timer and socket function.
I'm not certain about this at all, looking for feedback on this approach.
I'm not certain of the consequences of manipulating these streams outside of select(), what happens if you read or write them is unclear.