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?
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Henrik Holst via curl-library <curl-library_at_lists.haxx.se>
Date: Sun, 27 Aug 2023 17:15:32 +0200
Den sön 27 aug. 2023 kl 10:02 skrev Ray Satiro via curl-library <
curl-library_at_lists.haxx.se>:
> On 8/26/2023 2:27 PM, Daniel Stenberg via curl-library wrote:
>
> Am I missing something or is this something that could be added?
>
>
> Something like this can absolutely be added, and it might even make a lot
> of sense.
>
> I think I personally would favor an approach that exports the list of easy
> handles, or perhaps just a way for an application to iterate over them all,
> rather than a more simple "close all easy handles the multi handle knows".
> Mostly because providing an iterator opens up for more use cases than
> "just" closing down nicely.
>
> Thoughts? Any proposals for how such an API would look like?
>
>
> How about just return a multi maintained linked list of non-internal easy
> handles?
>
> curl_easy_handles_list *list = curl_multi_get_handles(multi);
>
> struct curl_easy_handle_list {
> CURL *easy;
> struct curl_easy_handle_list *next;
> };
>
wouldn't it be much easier interface to just have a
CURL **handles = curl_multi_get_handles(multi);
where the last position in *handles would be NULL to indicate the end? Yes
it would require libcurl to allocate a list and populate it at the call,
but the allocation had to be done in this case anyway and returning a
complete list at once avoids the problem with adds/dels during iteration of
the list.
/HH
>
> --
> Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
> Etiquette: https://curl.se/mail/etiquette.html
>
Date: Sun, 27 Aug 2023 17:15:32 +0200
Den sön 27 aug. 2023 kl 10:02 skrev Ray Satiro via curl-library <
curl-library_at_lists.haxx.se>:
> On 8/26/2023 2:27 PM, Daniel Stenberg via curl-library wrote:
>
> Am I missing something or is this something that could be added?
>
>
> Something like this can absolutely be added, and it might even make a lot
> of sense.
>
> I think I personally would favor an approach that exports the list of easy
> handles, or perhaps just a way for an application to iterate over them all,
> rather than a more simple "close all easy handles the multi handle knows".
> Mostly because providing an iterator opens up for more use cases than
> "just" closing down nicely.
>
> Thoughts? Any proposals for how such an API would look like?
>
>
> How about just return a multi maintained linked list of non-internal easy
> handles?
>
> curl_easy_handles_list *list = curl_multi_get_handles(multi);
>
> struct curl_easy_handle_list {
> CURL *easy;
> struct curl_easy_handle_list *next;
> };
>
wouldn't it be much easier interface to just have a
CURL **handles = curl_multi_get_handles(multi);
where the last position in *handles would be NULL to indicate the end? Yes
it would require libcurl to allocate a list and populate it at the call,
but the allocation had to be done in this case anyway and returning a
complete list at once avoids the problem with adds/dels during iteration of
the list.
/HH
>
> --
> Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library
> Etiquette: https://curl.se/mail/etiquette.html
>
-- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2023-08-27