On Mon, 13 Aug 2018, myLC--- via curl-library wrote:

I think most existing users would presume such data to become available via curl_easy_getinfo(), like the primary IP and friends already are.

I'm obvious not that acquainted with curl. I took a glance at the source. Unless I'm mistaken, you are using a renamed addrinfo struct on the inside.

Yes, although not just renamed, it's an actual private version of the entire struct.

Could it lead to problems with multiple threads, if you simply passed a pointer to that (chain of) struct(s) via curl_easy_getinfo?

We never export internal data like that. Export data needs to get their own struct if a struct is to be used so that we don't mix internal representations with what we promise in external APIs/ABIs.

But more so: there's no guarantee that we have the name resolved data left around after a transfer is complete as it is only saved in the DNS cache for a certain (customizable) time. We would probably need to convert the internal data to the exportable representation at the lookup time.

By using the callback after having resolved the hostname, you'd dispose of this burden.

Sure, I'm not totally against a callback. But we'd still have to convert the representation to something that we think we can stick to for the forseeable future even if the internals would change...

--

 / daniel.haxx.se
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.haxx.se/mail/etiquette.html

Reply via email to