Re: Async thoughts
Date: Tue, 16 Jul 2019 12:31:03 +0200
Feedback as one of the more recent multi-users:
- once I read the documentation, it was quite easy to figure out X-)
- I find the way of stuffing several easy things into one multi quite intuitive.
- there are several use scenarios that can be described as "async"
* mine was a pretty simple one where libcurl is selecting itself and there are no handles from somewhere else to watch
* I therefore cannot speak on how easy it is to integrate curl handles into your own select/poll/whatever
As a related, but slightly different thought:
- the API offered by libnghttp2 has one important feature: it does not do IO itself
- it could be an idea to offer a curl API that gets fed with chunks of data to process and hands out other chunks to send.
- this would decouple big parts of curl from socket/file handles and would let applications use whatever fits them best
(of course, the existing API should stay)
My quick, off the hip, thoughts about this...
Cheers, Stefan
> Am 16.07.2019 um 12:07 schrieb Daniel Stenberg via curl-library <curl-library_at_cool.haxx.se>:
>
> Hi team,
>
> Recently I've talked to some users who, independently of each other, have brought up or touched the idea of (easier) async transfers with libcurl.
>
> The easy interface is fine and yeah, easy, but synchronous, and the multi interface is powerful and non-blocking and all but not always very easy to "just do async" with.
>
> Is there a way and a "need" for easier async with libcurl? If so, how should the API for this work?
>
> Is there an existing async API somewhere that's good or useful that we can learn from or be inspired by?
>
> If your dream async API came true, how would it work?
>
> The probably most basic way I can think of is firing off a separate thread with the "start transfer" call and then have have a way to probe how the transfer is going and finally a way to signal the completion of the transfer.
>
> Thoughts?
>
> --
>
> / daniel.haxx.se | Get the best commercial curl support there is - from me
> | Private help, bug fixes, support, ports, new features
> | https://www.wolfssl.com/contact/
> -------------------------------------------------------------------
> Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
> Etiquette: https://curl.haxx.se/mail/etiquette.html
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.haxx.se/mail/etiquette.html
Received on 2019-07-16