[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A more general question about curl
From: |
Schanzenbach, Martin |
Subject: |
Re: A more general question about curl |
Date: |
Wed, 7 Sep 2022 14:47:02 +0000 |
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 <madmurphy333@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 <mschanzenbach@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 <madmurphy333@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