Re: Regarding Async DNS resolver

2019-07-16 Thread Amit via curl-library
On Wed, Jul 17, 2019 at 4:13 AM Daniel Stenberg wrote: > On Tue, 16 Jul 2019, Amit wrote: > > >> I don't actually advocate using 100ms all the time. It needs to be > shorter > >> at first and then increase over time. curl_multi_timeout() return such > >> timeouts. > > > > Thanks, will use curl_mu

Re: How to do optimal FTP upload for multiple files?

2019-07-16 Thread Daniel Stenberg via curl-library
On Tue, 16 Jul 2019, Taras Kushnir via curl-library wrote: The reason why I’m asking this is the following: I got reports from users that my app “uploads very slowly” so I started this investigation. Default upload code heavily (like x3-x4 on my machine) underperforms FileZilla upload and comm

Re: Regarding Async DNS resolver

2019-07-16 Thread Daniel Stenberg via curl-library
On Tue, 16 Jul 2019, Amit wrote: I don't actually advocate using 100ms all the time. It needs to be shorter at first and then increase over time. curl_multi_timeout() return such timeouts. Thanks, will use curl_multi_timeout() instead of fixed 100 msec timer. Just note that curl_multi_timeo

How to do optimal FTP upload for multiple files?

2019-07-16 Thread Taras Kushnir via curl-library
Hello everybody I’m developing a cross-platform app that among other things uploads N files to M FTP servers (same batch of files to every FTP server). So far I have K threads where each of them in a “for" loop uploads a file from the batch (each thread creates an “easy" curl handle, configures

Re: Regarding Async DNS resolver

2019-07-16 Thread Amit via curl-library
Ok, thanks for the clarification. Please see below my reply inline. On Tue, Jul 16, 2019 at 5:57 PM Daniel Stenberg wrote: > On Tue, 16 Jul 2019, Amit wrote: > > > 1> During testing, I have seen that DNS is getting resolved in 40 msec > but > > request is going out of the box only in the next p

Re: Regarding Async DNS resolver

2019-07-16 Thread Daniel Stenberg via curl-library
On Tue, 16 Jul 2019, Amit wrote: 1> During testing, I have seen that DNS is getting resolved in 40 msec but request is going out of the box only in the next poll iteration. Since there are other high priority tasks running in the system, sometime this 100 msec timer event is getting processed

RE: Async thoughts

2019-07-16 Thread forforumhelp--- via curl-library
My main issue with libcurl's multi interface is not that it is particularly complicated to use (admittedly, I had to spend some time to get it right but eventually it worked out). The bigger issue that I see is that the interface works async but it is not non-blocking. In order to keep track of

Re: Regarding Async DNS resolver

2019-07-16 Thread Amit via curl-library
Hi Daniel, For the time being, I've already modified my application to poll for 100 msec instead of 1 second but this approach has two potential issues. 1> During testing, I have seen that DNS is getting resolved in 40 msec but request is going out of the box only in the next poll iteration. Sinc

Re: Regarding Async DNS resolver

2019-07-16 Thread Daniel Stenberg via curl-library
On Mon, 15 Jul 2019, Amit via curl-library wrote: I would like to seek your opinion/thoughts if it is good idea to re-use the existing callback to notify the client about DNS resolution ?. I don't think that sounds like a good idea, no. To me it sounds like you're looking to patch libcurl rat

Re: Async thoughts

2019-07-16 Thread Stefan Eissing via curl-library
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 w

Async thoughts

2019-07-16 Thread Daniel Stenberg via curl-library
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 v