diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-07-19 10:10:04 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-07-19 17:04:34 -0700 |
commit | ed14b9bdbb35fa18dc283ba2d048a33d10759b2d (patch) | |
tree | d01c589b2eea1f6b05069e49fdb7988444949eec /lib/rainbows/rev/deferred_chunk_response.rb | |
parent | be17361f835840c7e356dbb75a6dfcafba6d0ebf (diff) | |
download | rainbows-ed14b9bdbb35fa18dc283ba2d048a33d10759b2d.tar.gz |
Similar to what we do in EM, this avoid unnecessary conditional logic inside more frequently used code paths.
Diffstat (limited to 'lib/rainbows/rev/deferred_chunk_response.rb')
-rw-r--r-- | lib/rainbows/rev/deferred_chunk_response.rb | 16 |
1 files changed, 16 insertions, 0 deletions
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 |