Submitted via IRC for Bytram
Google to reimplement curl in libcrurl
Not the entire thing, just “a subset”. It’s not stated very clearly exactly what that subset is but the easy interface is mentioned in the Chrome bug about this project.
The Chromium bug states that they will create a library of their own (named libcrurl) that will offer (parts of) the libcurl API and be implemented using Cronet.
Cronet is the networking stack of Chromium put into a library for use on mobile. The same networking stack that is used in the Chrome browser.
There’s also a mentioned possibility that “if this works”, they might also create “crurl” tool which is then their own version of the curl tool but using their own library. In itself is a pretty strong indication that their API will not be fully compatible, as if it was they could just use the existing curl tool…
“Implementing libcurl using Cronet would allow developers to take advantage of the utility of the Chrome Network Stack, without having to learn a new interface and its corresponding workflow. This would ideally increase ease of accessibility of Cronet, and overall improve adoption of Cronet by first-party or third-party applications.”
Logically, I suppose they then also hope that 3rd party applications can switch to this library (without having to change to another API or adapt much) and gain something and that new applications can use this library without having to learn a new API. Stick to the old established libcurl API.
(Score: 0) by Anonymous Coward on Monday June 24 2019, @03:11PM
Also the premise is false. You can't just make libcrurl a drop in replacement if it removes features. I must admit that I haven't ever built curl myself, but looking at the configure script it is insanely modular already, so much that it would be spam posting the optional features here.
Got to this: https://salsa.debian.org/debian/curl/raw/master/configure [debian.org]
Search for the line: "Optional Features:"
Holy shit!
Scroll a bit further down to: "Optional Packages:"
Holy more shit!
That's pretty modular library.