Cory Benfield
2015-11-09 09:02:16 UTC
All,
With the work on #7860 nearly done, Twisted should be in a good place to have a HTTP/2 implementation. Thereâs currently a Trac ticket (#7460) for adding HTTP/2 support to twisted.web, which is obviously a good idea. Iâm happy to take on that work.
What I want to get a picture for is how much of the Twisted support should live in Twisted itself. Currently Iâm planning to base the implementation on Hyper-h2[0]. This is because it seems totally needless to write a new HTTP/2 state machine when a perfectly good one already exists (full disclosure: Iâm the maintainer of Hyper-h2).
However, weâll still need a HTTP/2 Protocol, and the twisted.web integration. The twisted.web integration will definitely need to be done in Twisted, but Adi has pointed out to me that it may be better for the HTTP/2 Protocol itself to live outside of core Twisted (probably as a sub-project of Hyper, with a working title of txh2). This would give us a lot more flexibility and speed to iterate.
I want to get a sense of what the team believes is the best approach. Can I have your opinions? How much of this should be in Twisted itself?
Cory
[0]: http://python-hyper.org/h2/
With the work on #7860 nearly done, Twisted should be in a good place to have a HTTP/2 implementation. Thereâs currently a Trac ticket (#7460) for adding HTTP/2 support to twisted.web, which is obviously a good idea. Iâm happy to take on that work.
What I want to get a picture for is how much of the Twisted support should live in Twisted itself. Currently Iâm planning to base the implementation on Hyper-h2[0]. This is because it seems totally needless to write a new HTTP/2 state machine when a perfectly good one already exists (full disclosure: Iâm the maintainer of Hyper-h2).
However, weâll still need a HTTP/2 Protocol, and the twisted.web integration. The twisted.web integration will definitely need to be done in Twisted, but Adi has pointed out to me that it may be better for the HTTP/2 Protocol itself to live outside of core Twisted (probably as a sub-project of Hyper, with a working title of txh2). This would give us a lot more flexibility and speed to iterate.
I want to get a sense of what the team believes is the best approach. Can I have your opinions? How much of this should be in Twisted itself?
Cory
[0]: http://python-hyper.org/h2/