hyper on beta
Since I announced hyper in December of last year, it has continued to grow as Rust’s http library.
- A changelog was added!1
- Many more of the common headers have been implemented.
- Pyfisch has been slaving away at cleaning up the headers modules.
- A switch to using httparse for HTTP/1.x parsing with wonderful speed gains.
- Reem wrote up a faster threadpool for the Server.
- We compile on rustc beta!
Of course, a lot of the effort this past few months has been keeping up with all the changes to Rust and the standard library. A million thanks to all those who helped with these upgrades. I can’t overstate the joy it is to wake up in the morning, read that there are breaking changes in the latest nightly, and then see in my inbox that a pull request has already been filed fixing hyper.
Now that the breaking changes are behind us, developement can focus entirely on making hyper do things better-er. Specifically, here’s things that are either in progress, or highly desired (hint hint).
- The Client is very close to receiving Connection Pool support. Code is in a branch.
- The Server is switching to a request queue, such that keep-alive connections don’t starve the server.
- Marko Lalic has written an HTTP/2 library in Rust. Many have stated wanting to help integrate it into hyper. Hopefully, this should happen soon!
- We’d like to switch to asynchronous IO. There’s been plenty of working happening in mio, which brings us async IO for Unix-y platforms. There’s need for a Windows async IO library, and a library that can wrap the two. Then we can start switching over, and that means more speeeed.
I could imagine aiming for a 1.0 of hyper once we have asynchronous IO.