Worlize/AS3WebSocket — pull request #3 by rejemy (2012-04-10 22:11:16+00:00)
Title: RFC6455 conformance for AS3WebSocket. 

I combed through the docs and it does indeed seem that the only practical wire changes between protocol 8 and 13 are the renamed Origin header and a few of the closure status codes. I updated those, but then couldn't help myself and also added multiple subprotocol support as described in the doc. I also optimized the frame masking algorithm to improve throughput by about 2.8x. I also added a "psedo masking" mode that is useful in particular situations in which the client is embedded and not in danger of being hijacked by a rogue javascript snipped. In this mode, the mask key is always 0, enabling the client to skip the costly masking step completely. Obviously only useful in situations where you're not worried about arbitrary data going across the wire.

I've tested the changes against Jetty 8.1.2, which implements RFC6455 on the server side, everything seems good. I haven't tested through all the error conditions or given it thorough real-world testing.

If there's more here than you want to digest at once, let me know, I can probably break out some of it. Also, I'm new to github so my apologies if it would have been easier for you if I had made a new branch for this. I guess in the worst case I can just go use my own fork from here on out. The magic of github!