curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: Getting a list of easy handles in a multi handle - possible?

From: Patrick Monnerat via curl-library <curl-library_at_lists.haxx.se>
Date: Mon, 28 Aug 2023 13:06:32 +0200

On 8/28/23 12:51, Stefan Eissing via curl-library wrote:
>
>> Am 28.08.2023 um 12:41 schrieb Daniel Stenberg <daniel_at_haxx.se>:
>>
>> On Mon, 28 Aug 2023, Stefan Eissing via curl-library wrote:
>>
>>>>>> CURL **handles = curl_multi_get_handles(multi);
>>> The tricky part is to handle iterations when easy handles are removed and freed during the iteration. If we save pointers, this can become tedious.
>> Right, but it has the nice property that it is a fixed snapshot in time. When you iterate over this list and remove handles or even add new handles to the multi, this list is already created and remains unmodified.
>>
>> Almost all other iterating APIs will be harder to document and possibly to use, when you remove and add handles while traversing the handles.
> Yes, that is why I propose a snapshot (internal, invisible) of the transfer ids. Then the caller can even free handles during iteration without headaches.

Internally managing a snapshot can also be a headhache and adds a
processing overhead that will be unused in most cases.

I think letting the array update to the caller's responsibility is much
simpler and does not bring much bloat to the calling program.

-- 
Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html
Received on 2023-08-28