From ed14b9bdbb35fa18dc283ba2d048a33d10759b2d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 19 Jul 2010 10:10:04 +0000 Subject: rev: split out deferred chunk logic from unchunked Similar to what we do in EM, this avoid unnecessary conditional logic inside more frequently used code paths. --- lib/rainbows/rev/deferred_chunk_response.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 lib/rainbows/rev/deferred_chunk_response.rb (limited to 'lib/rainbows/rev/deferred_chunk_response.rb') diff --git a/lib/rainbows/rev/deferred_chunk_response.rb b/lib/rainbows/rev/deferred_chunk_response.rb new file mode 100644 index 0000000..35991d1 --- /dev/null +++ b/lib/rainbows/rev/deferred_chunk_response.rb @@ -0,0 +1,16 @@ +# -*- encoding: binary -*- +# :enddoc: +# +# this is class is specific to Rev for proxying IO-derived objects +class Rainbows::Rev::DeferredChunkResponse < Rainbows::Rev::DeferredResponse + def on_read(data) + @client.write("#{data.size.to_s(16)}\r\n") + @client.write(data) + @client.write("\r\n") + end + + def on_close + @client.write("0\r\n\r\n") + super + end +end -- cgit v1.2.3-24-ge0c7