curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

A libcurl internals presentation should contain...

From: Daniel Stenberg via curl-library <>
Date: Fri, 12 Mar 2021 17:51:05 +0100 (CET)

Hi friends!

I'm working on slides and material for a "libcurl internals" presentation.

The intended audience is developers who are interested in learning how the
libcurl engine works and some of the internal concepts and designs, to perhaps
help understand on how to work with it when fixing bugs or adding features. I
imagine there's a few of you on this mailing list.

To me personally, the curl source code and architecture is like my favourite
backyard where I know almost every stone and hidden soft spot - but it also
sometimes make me not really see things with the outsiders perspective when
I'm trying to explain or document it.

My question is then very open ended: what parts of libcurl should I make
really sure to include in such an explainer/presentation? What areas, concepts
or designs do you find the hardest/weirdest/silliest/most complex ?

So far, my presentation agenda includes the following high level areas:

  - How to use the API
  - Easy interface transfers
  - Multi interface transfers
  - Transfer state machine
  - multi_fdset()
  - multi_timeout()
  - multi_socket_action()
  - Protocol handlers
  - Caches and pools
  - Backends
  - Portability

If everything turns out fine, I will consider converting the presentation into
a "libcurl internals" chapter for everything curl later on.

  | Commercial curl support up to 24x7 is available!
  | Private help, bug fixes, support, ports, new features
Received on 2021-03-12