Tony Arcieri
2008-Aug-18 21:48 UTC
[Rev-talk] Spinning Rev::HttpClient off into its own gem
tmm1 was asking me earlier today about using Rev''s HTTP client on top of EventMachine. Rev::HttpClient got its start as the HTTP client from Zed Shaw''s rfuzz library and features a high-performance Ragel-generated state machine parser. Ragel compiles the parser to C which in turn is wrapped as a Ruby C extension, much like the Mongrel parser. The client itself is also implemented as a state machine so it should be easily extensible, and among other things supports chunked encoding. Given the interest in using this client with EventMachine I think the best approach would be to unbundle it from Rev and make it available as a gem which works on either Rev or EventMachine. Would anyone be interested in this sort of thing? -- Tony Arcieri medioh.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/rev-talk/attachments/20080818/b173d88f/attachment.html>
James Tucker
2008-Aug-19 07:54 UTC
[Eventmachine-talk] Spinning Rev::HttpClient off into its own
On 18 Aug 2008, at 22:48, Tony Arcieri wrote:> tmm1 was asking me earlier today about using Rev''s HTTP client on > top of EventMachine. Rev::HttpClient got its start as the HTTP > client from Zed Shaw''s rfuzz library and features a high-performance > Ragel-generated state machine parser. Ragel compiles the parser to > C which in turn is wrapped as a Ruby C extension, much like the > Mongrel parser. The client itself is also implemented as a state > machine so it should be easily extensible, and among other things > supports chunked encoding. > > Given the interest in using this client with EventMachine I think > the best approach would be to unbundle it from Rev and make it > available as a gem which works on either Rev or EventMachine. Would > anyone be interested in this sort of thing?Yup> > > -- > Tony Arcieri > medioh.com > _______________________________________________ > Eventmachine-talk mailing list > Eventmachine-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/eventmachine-talk-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/eventmachine-talk/attachments/20080819/2e935aae/attachment.html>
Dominic Sisneros
2008-Aug-19 07:55 UTC
[Eventmachine-talk] Spinning Rev::HttpClient off into its own
Sounds like a good idea! I would be interested On Mon, Aug 18, 2008 at 3:48 PM, Tony Arcieri <tony at medioh.com> wrote:> tmm1 was asking me earlier today about using Rev''s HTTP client on top of > EventMachine. Rev::HttpClient got its start as the HTTP client from Zed > Shaw''s rfuzz library and features a high-performance Ragel-generated state > machine parser. Ragel compiles the parser to C which in turn is wrapped as > a Ruby C extension, much like the Mongrel parser. The client itself is also > implemented as a state machine so it should be easily extensible, and among > other things supports chunked encoding. > > Given the interest in using this client with EventMachine I think the best > approach would be to unbundle it from Rev and make it available as a gem > which works on either Rev or EventMachine. Would anyone be interested in > this sort of thing? > > -- > Tony Arcieri > medioh.com > > _______________________________________________ > Eventmachine-talk mailing list > Eventmachine-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/eventmachine-talk >
oldmoe
2008-Aug-19 08:17 UTC
[Eventmachine-talk] Spinning Rev::HttpClient off into its own
Sure, would be handy oldmoe eSpace.com.eg oldmoe.blogspot.com On Aug 19, 5:55?pm, "Dominic Sisneros" <dsisn... at gmail.com> wrote:> Sounds like a good idea! ?I would be interested > > > > On Mon, Aug 18, 2008 at 3:48 PM, Tony Arcieri <t... at medioh.com> wrote: > > tmm1 was asking me earlier today about using Rev''s HTTP client on top of > > EventMachine. ?Rev::HttpClient got its start as the HTTP client from Zed > > Shaw''s rfuzz library and features a high-performance Ragel-generated state > > machine parser. ?Ragel compiles the parser to C which in turn is wrapped as > > a Ruby C extension, much like the Mongrel parser. ?The client itself is also > > implemented as a state machine so it should be easily extensible, and among > > other things supports chunked encoding. > > > Given the interest in using this client with EventMachine I think the best > > approach would be to unbundle it from Rev and make it available as a gem > > which works on either Rev or EventMachine. ?Would anyone be interested in > > this sort of thing? > > > -- > > Tony Arcieri > > medioh.com > > > _______________________________________________ > > Eventmachine-talk mailing list > > Eventmachine-t... at rubyforge.org > >http://rubyforge.org/mailman/listinfo/eventmachine-talk > > _______________________________________________ > Eventmachine-talk mailing list > Eventmachine-t... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/eventmachine-talk
Tony Arcieri
2008-Aug-21 06:07 UTC
[Rev-talk] [Eventmachine-talk] Spinning Rev::HttpClient off into its own gem
For anyone who''s interested I''ve begun working on this. It''s up on Github: http://github.com/tarcieri/fasthttp/tree/master I''m starting by separating out the connection object from the client class. Rev::HttpClient was originally a subclass of Rev::TCPSocket. I''m changing that so it isn''t a subclass of anything, but interfaces through a subclass of Rev::TCPSocket. After that I''ll look at making the backends pluggable so it can run on Rev, EventMachine, or Plain Old Ruby Sockets On Tue, Aug 19, 2008 at 9:17 AM, oldmoe <oldmoe at gmail.com> wrote:> Sure, would be handy > > oldmoe > eSpace.com.eg > oldmoe.blogspot.com > > On Aug 19, 5:55 pm, "Dominic Sisneros" <dsisn... at gmail.com> wrote: > > Sounds like a good idea! I would be interested > > > > > > > > On Mon, Aug 18, 2008 at 3:48 PM, Tony Arcieri <t... at medioh.com> wrote: > > > tmm1 was asking me earlier today about using Rev''s HTTP client on top > of > > > EventMachine. Rev::HttpClient got its start as the HTTP client from > Zed > > > Shaw''s rfuzz library and features a high-performance Ragel-generated > state > > > machine parser. Ragel compiles the parser to C which in turn is > wrapped as > > > a Ruby C extension, much like the Mongrel parser. The client itself is > also > > > implemented as a state machine so it should be easily extensible, and > among > > > other things supports chunked encoding. > > > > > Given the interest in using this client with EventMachine I think the > best > > > approach would be to unbundle it from Rev and make it available as a > gem > > > which works on either Rev or EventMachine. Would anyone be interested > in > > > this sort of thing? > > > > > -- > > > Tony Arcieri > > > medioh.com > > > > > _______________________________________________ > > > Eventmachine-talk mailing list > > > Eventmachine-t... at rubyforge.org > > >http://rubyforge.org/mailman/listinfo/eventmachine-talk > > > > _______________________________________________ > > Eventmachine-talk mailing list > > Eventmachine-t... at rubyforge.orghttp:// > rubyforge.org/mailman/listinfo/eventmachine-talk > _______________________________________________ > Eventmachine-talk mailing list > Eventmachine-talk at rubyforge.org > http://rubyforge.org/mailman/listinfo/eventmachine-talk >-- Tony Arcieri medioh.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/rev-talk/attachments/20080821/876aa961/attachment-0001.html>
Tony Arcieri
2008-Aug-22 07:26 UTC
[Rev-talk] [Eventmachine-talk] Spinning Rev::HttpClient off into its own gem
FastHTTP is working! Well, at least with Rev. It''s pretty clear at this point some refactoring is in order, but the base functionality is there. I''d like to begin adding in EventMachine support, but it''d really be nice if there were some clean abstraction between EventMachine, Rev, and Ruby sockets I could use. I talked a little bit about this on the IRC channel... I may try to hack this together myself and see how things go. On Thu, Aug 21, 2008 at 12:07 AM, Tony Arcieri <tony at medioh.com> wrote:> For anyone who''s interested I''ve begun working on this. It''s up on Github: > > http://github.com/tarcieri/fasthttp/tree/master > > I''m starting by separating out the connection object from the client > class. Rev::HttpClient was originally a subclass of Rev::TCPSocket. I''m > changing that so it isn''t a subclass of anything, but interfaces through a > subclass of Rev::TCPSocket. > > After that I''ll look at making the backends pluggable so it can run on Rev, > EventMachine, or Plain Old Ruby Sockets > > > On Tue, Aug 19, 2008 at 9:17 AM, oldmoe <oldmoe at gmail.com> wrote: > >> Sure, would be handy >> >> oldmoe >> eSpace.com.eg >> oldmoe.blogspot.com >> >> On Aug 19, 5:55 pm, "Dominic Sisneros" <dsisn... at gmail.com> wrote: >> > Sounds like a good idea! I would be interested >> > >> > >> > >> > On Mon, Aug 18, 2008 at 3:48 PM, Tony Arcieri <t... at medioh.com> wrote: >> > > tmm1 was asking me earlier today about using Rev''s HTTP client on top >> of >> > > EventMachine. Rev::HttpClient got its start as the HTTP client from >> Zed >> > > Shaw''s rfuzz library and features a high-performance Ragel-generated >> state >> > > machine parser. Ragel compiles the parser to C which in turn is >> wrapped as >> > > a Ruby C extension, much like the Mongrel parser. The client itself >> is also >> > > implemented as a state machine so it should be easily extensible, and >> among >> > > other things supports chunked encoding. >> > >> > > Given the interest in using this client with EventMachine I think the >> best >> > > approach would be to unbundle it from Rev and make it available as a >> gem >> > > which works on either Rev or EventMachine. Would anyone be interested >> in >> > > this sort of thing? >> > >> > > -- >> > > Tony Arcieri >> > > medioh.com >> > >> > > _______________________________________________ >> > > Eventmachine-talk mailing list >> > > Eventmachine-t... at rubyforge.org >> > >http://rubyforge.org/mailman/listinfo/eventmachine-talk >> > >> > _______________________________________________ >> > Eventmachine-talk mailing list >> > Eventmachine-t... at rubyforge.orghttp:// >> rubyforge.org/mailman/listinfo/eventmachine-talk >> _______________________________________________ >> Eventmachine-talk mailing list >> Eventmachine-talk at rubyforge.org >> http://rubyforge.org/mailman/listinfo/eventmachine-talk >> > > > > -- > Tony Arcieri > medioh.com >-- Tony Arcieri medioh.com -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://rubyforge.org/pipermail/rev-talk/attachments/20080822/0685b16c/attachment.html>
ryah dahl
2008-Aug-22 10:56 UTC
[Rev-talk] [Eventmachine-talk] Spinning Rev::HttpClient off into its own gem
> I''d like to begin adding in EventMachine support, but it''d really be nice if > there were some clean abstraction between EventMachine, Rev, and Ruby > sockets I could use.this would be great!