celluloid / reel

UNMAINTAINED: See celluloid/celluloid#779 - Celluloid::IO-powered web server
https://celluloid.io
MIT License
596 stars 87 forks source link

Release 0.6.5 ( Laurel ) #198

Closed digitalextremist closed 8 years ago

digitalextremist commented 9 years ago

This upcoming release is being started with @kenichi's HTTP/2 update as a prompting.

digitalextremist commented 9 years ago

@kenichi have you worked out any HTTP/2 specific tests yet by chance?

digitalextremist commented 9 years ago

@kenichi this depends on Ruby 2.0+ syntax ... that's a pretty big decision. We may want to detect 2.0 and only include this if it's there... on a Gemfile level as well as in Reel

kenichi commented 9 years ago

@digitalextremist the http-2 gem requires ruby 2.0+ syntax? i didn't see a version req in the gemspec... i probably did put some 2.x hash syntax in my commit... if that's what you mean, i can fix that. obvs, i'm still learning about http/2 and what it entails. no tests yet, i was just seeing if it would work at all. there are some issues possibly with the http-2 gem still:

https://github.com/igrigorik/http-2/issues/33

This one works with chrome tho, i believe because the "h2" during TLS:

https://gist.github.com/kenichi/cbc5745809966986cc87

I'm looking more into the RFC and the various other servers that implement like nghttp etc. See also:

digitalextremist commented 9 years ago

@kenichi yeah, what I saw was hash syntax, the ** glitter. I think it's great, but I know for a fact the current syntax is largely why Angelo for example isn't being deployed more, which is a shame. I will dig into the links when I can and come talk to you about some ideas. If we can cooperate on some changes, I think we can bring Reel up to 1.0 alongside Celluloid smoothly. I invited you to Celluloid in a read capacity on reel, reel-rack, and celluloid-io -- but as an official contributor -- as a path to more, like reel-core /cc: @tarcieri

kenichi commented 9 years ago

@digitalextremist :+1:

kenichi commented 9 years ago

Take a look at the latest commit to my branch, and perhaps if http-2's use of new syntax is undesirable, maybe ds9 as a wrapper for nghttp is a good alternative. I'd like to chat more about reel's current structure, Reel::Stream, etc. Things like breaking out of the each_request loop feel super hacky.

igrigorik commented 9 years ago

@kenichi what's the issue with http-2's syntax? If its anything we can fix, lmk.

kenichi commented 9 years ago

@igrigorik i think the issue is that reel would like to maintain 1.9 compat. apart from 2.x syntax, is there anything else in http-2 that would break that? also, i know the examples don't support upgrade, but are there plans to support the upgrade response stream in http-2 itself? i had to do some not great things to make it work in reel:

https://github.com/celluloid/reel/blob/5adabb02b3022061378b6d769b9288d477713c7b/lib/reel/connection/http_2.rb#L53-L83

https://github.com/celluloid/reel/blob/5adabb02b3022061378b6d769b9288d477713c7b/lib/reel/request/info.rb#L29-L43

tarcieri commented 9 years ago

I'd be fine with ditching 1.9 support. It's EOL, and JRuby 9000 will be shipping soon I hope hope hope! /cc @headius

igrigorik commented 9 years ago

@tarcieri @kenichi if dropping 1.9 is an option, then a hearty +1 to that.

Re, h2c support: yeah, I think that's reasonable to support in core. That said, I would like nudge everyone away from plaintext and towards secure transports.. I don't think Tony will disagree with that either :)

tarcieri commented 9 years ago

@igrigorik I'd suggest waiting for the JRuby 9000 release, then immediately dropping 1.9 support when it's GA

igrigorik commented 9 years ago

@tarcieri makes sense. Based on stated roadmap, it sounds like it'll be out "soon"? If we think it's something that's ~months away (not years), then I think that's a reasonable thing to block on.

headius commented 9 years ago

Next week! But don't tell anyone!

tarcieri commented 9 years ago

@headius I'm sure your public github comment will be kept in the highest confidence

tarcieri commented 9 years ago

Ok, well JRuby 9000 is out. I say we deprecate 1.9 support in the next release.

digitalextremist commented 9 years ago

Ticketed that, and will start moving the last few 1.9 dependents I am aware of while removing support.

igrigorik commented 9 years ago

:+1:

tarcieri commented 8 years ago

Cleaning house on these