Ruby 1.8.7 Compatibility and Protocol Version fix #1

Merged
merged 10 commits into from Apr 30, 2011

Projects

None yet

2 participants

@eee-c
Collaborator
eee-c commented Apr 28, 2011

I accidentally got started with this under Ruby 1.8.7. It was relatively easy to add a small compatibility lib, but...

Some of the existing specs rely on 1.9 ordered hashes. To retain spec coverage, I deconstructed the assembled packet expectations to probe parts of blocks / frames rather than the assembled whole.

In doing so, I noticed that the version of the protocol is incorrect (I think). Even though the current SPDY specification is Draft #2, the protocol version is still one.

@igrigorik
Owner

Hmm, good stuff. The specs are definitely more verbose, but I think better nonetheless.

One gotcha: I'm pretty sure the current protocol version in use is 2. At least, that's what my own browser reports for open connections to Google's services. I think that change needs to be reverted, and then we're good to do a merge.

@eee-c eee-c Real world usage indicates that it is version 2.
The current draft of the protocol say 1, but Chrome appears to be using 2.  Stick with the observed version
bed845f
@eee-c
Collaborator
eee-c commented Apr 29, 2011

Interesting. I have yet to get around to trying it out in the browser, but real world trumps draft specifications. Change made.

@eee-c eee-c Extract bytes when testing packets.
Trying to match binary strings by index or range hits too many string incompatibilities between 1.8 and 1.9.
70d41ad
@igrigorik igrigorik merged commit 70d41ad into igrigorik:master Apr 30, 2011
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment