cURL / Mailing Lists / curl-library / Single Mail


RE: libcurl and async I/O

From: Andrew Barnert <>
Date: Fri, 15 Aug 2008 16:01:34 -0700

Well, pion looks a lot better than last time I looked at it (November?), but it still doesn’t handle various things I need--proxies, any kind of auth except basic, etc.

It also has its own embedded asio service, and there doesn't seem to be any way to make it share the same one with my other sockets, which means I'd have to either rewrite all of the existing asio code to use pion, or run two services at the same time.

It might be easier to add those features to pion than to hack up libcurl to work asynchronously. I'm not sure, but it's probably worth the time to look into it deeper.


> -----Original Message-----
> From: [mailto:curl-library-
>] On Behalf Of Cory Nelson
> Sent: Friday, 15 August 2008 15:16
> To: libcurl development
> Subject: Re: libcurl and async I/O
> On Fri, Aug 15, 2008 at 3:06 PM, Andrew Barnert <>
> wrote:
> > I've been investigating incorporating HTTP tunneling into a
> > boost-asio-centered tool. Writing all the HTTP stuff myself is no
> fun; I'd
> > much rather use libcurl. But I need the same asio engine to manage
> all of
> > the sockets, concurrency, etc., whether they're curl-tunneled or
> native.
> > After looking over the libcurl APIs, there appears to be no way to do
> what I
> > want. The same would be true with native Windows (or Solaris) I/O
> completion
> > ports, or the ACE proactor classes, or anything else that works the
> same
> > way; the libcurl-hiper stuff only works with a select/poll/kqueue-
> style
> > ("reactor") API.
> >
> Check out Pion, a HTTP library built on top of asio.
> --
> Cory Nelson
Received on 2008-08-16