Hello Reza, the WS protocol has indeed changed alot from hixie-76. There are binary frames, new framing scheme, interspersed control frames, masking, etc etc.
Currently, it's in the last review phase involving IESG/IAB members, and the WG chairs want to cross the finish line in November on WS 1.0 final. Code base size should not be a measure of completeness, of course. With regard to Autobahn WS, I would nevertheless say it's quite complete, since it includes a WS test suite with >200 test cases that cover a lot of the spec - and passes all. The tests are quite rigorous, for example I've taken the pains to implement own UTF-8 payload validator, since the one that comes with Python has outstanding issues related to surrogate pairs. Also, the test suite is used already with a couple of server frameworks, and it found several bugs both in Firefox and Chrome. Of course the test suite increases the total code size. Another area that took time/code is: support for message-based, frame-based and streaming APIs. I expect (hope;) that the code structuring that was necessary for the latter helps when implementing - a yet to be defined/agreed - multiplexing scheme over WS. This was also one reason why I didn't base the code on Site, but Protocol directly. Anyway, it's good to hear that you're planning to take up development again .. choice is good. Regards, Tobias Von: twisted-python-boun...@twistedmatrix.com [mailto:twisted-python-boun...@twistedmatrix.com] Im Auftrag von Reza Lotun Gesendet: Montag, 12. September 2011 18:10 An: Twisted general discussion Betreff: Re: [Twisted-Python] Autobahn WebSockets - Twisted based WS implementation Hi, On Mon, Sep 12, 2011 at 4:38 PM, Tobias Oberstein <tobias.oberst...@tavendo.de<mailto:tobias.oberst...@tavendo.de>> wrote: No, it's not. From a cursory look at the code (didn't knew it existed): That repo on Github is based on a Twisted branch that was nearly ready for inclusion into Twisted. This was back in the day when the websocket protocol seemed on the verge of stabilizing. Obviously this wasn't the case. I came along and added cross version support for the next iteration of the protocol which was then newly supported in Chrome. Then there came the discovery of a cache poising security flaw that was eventually addressed in the latest iteration of the websocket protocol. I haven't yet had time to incorporate it, though I believe there is an open pull request for its support (thanks, to whoever that was). Outdated WS protocol, probably wasnt complete at any time, based on the Site class. Depends on what you consider to be "complete" I guess. It had working examples and stayed close to the reference Twisted implementation, which was in the last stages of its code review. Autobahn WS has complete, current WS support. Code base is roughly 9k LOC. Completeness shouldn't really be measured by size of code base. I take your point that the latest version of the protocol is indeed supported in Autobahn, which is a good thing of course. Thanks for Autobahn - it's useful to take a look at. I'll still continue work on txWebsocket, however, with the intention of: * eventual inclusion into Twisted (meeting Twisted coding standards, MIT license, etc.) * small, simple code base Hopefully one day if and when txWebSocket is finally merged we can standardize on one reference implementation (it doesn't have to be txWebsocket of course - it'd be great if the core of Autobahn could be contributed...) Thanks, Reza -- Reza Lotun mobile: +44 (0)7521 310 763 email: rlo...@gmail.com<mailto:rlo...@gmail.com> work: rlo...@twitter.com<mailto:rlo...@twitter.com> @rlotun
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python