The Rustacean Station Podcast

Rust in cURL

Posted Fri, 03 Sep 2021 15:30:00 +0000

First time guest host, Allen Wyma talks with Daniel, the original author of cURL, about using Rust in cURL.

  • cURL is a command line tool and library for transferring data with URLs.
  • cURL, and its data transfer core, libcurl are both written in C, which is known to be not memory safe.
  • While it is almost impossibe to rewrite it into another language, offering a third-party library written in Rust could take a further step forward.

Contributing to Rustacean Station

Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!

Highlights

  • Architecture of cURL & libcurl
  • What brought Daniel to Rust? How long has he been using Rust?
  • What language was Daniel working in before that?
  • Third party libraries written in Rust?
  • What benefits does Rust bring to cURL?

Resources

Timestamps

  • [@05:10] - cURL 7.78.0
  • [@07:44] - Implementing Protocol
  • [@09:25] - HTTP/3
  • [@13:30] - Architecture of cURL & libcurl
  • [@17:40] - cURL as a hybrid library
  • [@19:40] - Replacing C with Rust
  • [@34:00] - Experience of using Rust
  • [@35:40] - async/.await in rust
  • [@40:45] - Anything dislike about Rust?
  • [@42:35] - Challenge of integrating with Rust
  • [@48:00] - Can Rust help curl survive?
  • [@49:10] - Tips for beginners?

Credits

Intro Theme: Aerocity

Audio Editing: Plangora

Hosting Infrastructure: Jon Gjengset

Show Notes: Plangora

Hosts: Allen Wyma