Re: A more general question about curl
"Schanzenbach, Martin" <[email protected]>
| Newsgroups | gmane.network.gnunet.devel |
|---|---|
| Message-ID | <[email protected]> |
Imagine that a "GET /download" downloads 1GB of data.
If your code looks like this (not the actual API but for demonstration purposes):
data = wget_get("/download")
// Wait until download completes
Then you have a blocking API.
Instead you can have a non-blocking API that allows you to "select" or "epoll" file descriptors of the download.
See https://curl.se/libcurl/c/libcurl-multi.html
> On 7. Sep 2022, at 16:28, madmurphy <[email protected]> wrote:
>
> I never used the curl API, so I don't know what the multi interface is, but if I remember correctly wget2 introduced non-blocking sockets. That's all I know. I did not find a lot of info on Google, except maybe for this email on gnutls mailing list: https://lists.gnutls.org/pipermail/gnutls-devel/2019-June/014051.html
>
> --madmurphy
>
> On Wed, Sep 7, 2022 at 2:54 PM Schanzenbach, Martin <[email protected]> wrote:
> We need a non-blocking API such as curl_multi.
> Last time I checked, libwget2 does not have that.
>
> BR
>
> > On 7. Sep 2022, at 15:46, madmurphy <[email protected]> wrote:
> >
> > I don't know all the reasons behind using curl and all GNUnet's requirements, but have you guys thought about switching to wget2? It is a GNU package and has a nice library (libwget). It supports GNU TLS natively, it is supposed to download faster than curl, and if a minor feature is missing it might be an opportunity to make libwget grow.
> >
> > A comparison table (by curl):
> >
> > https://curl.se/docs/comparison-table.html
> >
> > --madmurphy
>
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEPREGPBD5jRS9JNFHCwmY74b1m2oFAmMYruYACgkQCwmY74b1 m2qc5A//cy1dskZNCowRd9wD4o+tK//VeTE326eTyp1c8gXH51oo2G9UvveUOeD9 UrGT5gciqFcLlhaeeo95IAcHO52y8HMwr1ZS7OuMJJbljDA8wNJ1tnmIb+435lG+ O39ph27+58Ww7SrLHQ13XXR8BqwSN2mxiD7cXVGlLmu3iKLU04x8/4C4orx2/Blk Mp4wo+iNsIg4kWJerFYzjTzloLSs4LWkO19uOz4t0Q3fITQl1/IO91cOehFReLmx 4x5Mx6g/Y0IIBdEn6Q5pBA+XoiqVddtILwy+kdcIhPCEHg4jlmDiUslno885TAJ5 pvkGtp3L+CMVB0W89d43RIPshC6IBMjxrAYQBy1tQGN0vvJaoHBmd7SZGNxCIHYS a664DLXtDP++mUNwLfAf/XmkurNsRshu95Znk6QSzE2w55sIG5cdSLb5ZQTcJmXL v8ODWKwudrHU7ts/noQ6X9RENsrzErrWyCmBWTrRUhjvLPiD8j1z8hhnf2PBEUnG rjhOyGnBuvERx/8qs2ouOhmABXZDIZFVXhY621Rv5CWkCSkS5tdX7l/j/vbCGRrj FqIUMr74qr2Abm+1WCwiFGHAOdpJslyi1TxwVVt6nnDv0PqFO5zi4ahv4heKHC9+ ptWTzLdDo0JlChevyLgrcaEovNLuOHfgxhDfnsnaEW2ltg7uD+I= =gMdT -----END PGP SIGNATURE-----