about summary refs log tree commit homepage
path: root/lib/rainbows/epoll
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2011-01-21 15:08:07 -0800
committerEric Wong <normalperson@yhbt.net>2011-01-21 16:54:02 -0800
commit43d6ec33c3dd7497e27127adfffeb94722fd4b8d (patch)
tree7f4e519e67900f9d2d5fb9465fbf28d48a4cc1d0 /lib/rainbows/epoll
parent247ce76b4aabfa42157b9cbf9ebae824819cfff6 (diff)
downloadrainbows-43d6ec33c3dd7497e27127adfffeb94722fd4b8d.tar.gz
We don't need to allocate new string objects for short-lived
strings.  We'll pay the price of a constant lookup instead.
Diffstat (limited to 'lib/rainbows/epoll')
-rw-r--r--lib/rainbows/epoll/client.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/rainbows/epoll/client.rb b/lib/rainbows/epoll/client.rb
index cb7097d..ba9d576 100644
--- a/lib/rainbows/epoll/client.rb
+++ b/lib/rainbows/epoll/client.rb
@@ -75,7 +75,7 @@ module Rainbows::Epoll::Client
                     Rainbows::Epoll::ResponsePipe).new(io, self, body)
     return @wr_queue << pipe if @wr_queue[0]
     stream_pipe(pipe) or return
-    @wr_queue[0] or @wr_queue << ""
+    @wr_queue[0] or @wr_queue << Z
   end
 
   def ev_write_response(status, headers, body, alive)
@@ -85,7 +85,7 @@ module Rainbows::Epoll::Client
       write_response(status, headers, body, alive)
     end
     @state = alive ? :headers : :close
-    on_read("") if alive && 0 == @wr_queue.size && 0 != @buf.size
+    on_read(Z) if alive && 0 == @wr_queue.size && 0 != @buf.size
   end
 
   def epoll_run
@@ -103,7 +103,7 @@ module Rainbows::Epoll::Client
 
   def on_deferred_write_complete
     :close == @state and return close
-    0 == @buf.size ? on_readable : on_read("")
+    0 == @buf.size ? on_readable : on_read(Z)
   end
 
   def handle_error(e)