This collect issues documenting the progress of the HTTP/2 PoC.
Out-of-scope for this initial effort:
Our first sprint for implementing HTTP/2 is done. Unfortunately, we had much less time working on it than we hoped for various reasons. Luckily, we still managed to build a (somewhat) working prototype that we (and everyone else interested) can now built upon.
Here's an overview of the current state:
What works:
bindAndHandleAsync so far)Mandatory features that are missing:
bindAndHandleAsync is supported)Optional features missing
The current implementation can be found in https://github.com/akka/akka-http/tree/wip-http2. A basic example can be found in https://github.com/akka/akka-http/blob/wip-http2/akka-http2-support/src/test/scala/akka/http/scaladsl/Http2ServerTest.scala.
We plan to follow up on this work quite soon to get it into a state where we can confidently make a first release. We strive to have all the infrastructure in place by then which would simplify it for everyone interested to test and contribute to further development. Our current focus is to release Akka HTTP as a stable module in the coming days, starting it off with an RC1 very soon. The HTTP/2 work is not a requirement for the first stable release from the new repository - we’ll get back to it at a later point in time, and – in the meantime – invite you to help us out by contributing the missing bits and pieces.
Initial version working. Remaining work in smaller tickets. Closing...
Most helpful comment
Our first sprint for implementing HTTP/2 is done. Unfortunately, we had much less time working on it than we hoped for various reasons. Luckily, we still managed to build a (somewhat) working prototype that we (and everyone else interested) can now built upon.
Here's an overview of the current state:
What works:
bindAndHandleAsyncso far)Mandatory features that are missing:
bindAndHandleAsyncis supported)Optional features missing
Better cipher performance for required ciphers in HTTP/2 (see http://netty.io/wiki/requirements-for-4.x.html) by either JDK getting a better implementation or relying on openssl (we’ve got a PoC to piggy-back on netty’s openssl support)
The current implementation can be found in https://github.com/akka/akka-http/tree/wip-http2. A basic example can be found in https://github.com/akka/akka-http/blob/wip-http2/akka-http2-support/src/test/scala/akka/http/scaladsl/Http2ServerTest.scala.
We plan to follow up on this work quite soon to get it into a state where we can confidently make a first release. We strive to have all the infrastructure in place by then which would simplify it for everyone interested to test and contribute to further development. Our current focus is to release Akka HTTP as a stable module in the coming days, starting it off with an RC1 very soon. The HTTP/2 work is not a requirement for the first stable release from the new repository - we’ll get back to it at a later point in time, and – in the meantime – invite you to help us out by contributing the missing bits and pieces.