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 <madmurphy...@gmail.com> 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 <mschanzenb...@posteo.de> > 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 <madmurphy...@gmail.com> 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
Description: Message signed with OpenPGP