From cc18035c5105751a3e67a8e449ee0021fd313ea9 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 19 Jul 2010 10:09:55 +0000 Subject: event_machine: ResponseChunkPipe style cleanup No need to double up on begin blocks since we know @client.write won't raise exceptions @io.read_nonblock does. Also prefer @client.write to @client.send_data since it looks more in line with other IO interfaces. --- lib/rainbows/event_machine.rb | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'lib/rainbows/event_machine.rb') diff --git a/lib/rainbows/event_machine.rb b/lib/rainbows/event_machine.rb index 3837e1f..625357e 100644 --- a/lib/rainbows/event_machine.rb +++ b/lib/rainbows/event_machine.rb @@ -195,19 +195,17 @@ module Rainbows def notify_readable begin - data = begin - @io.read_nonblock(16384, BUF) - rescue Errno::EINTR - retry - rescue Errno::EAGAIN - return - rescue EOFError - detach - return - end - @client.send_data(sprintf("%x\r\n", data.size)) - @client.send_data(data) - @client.send_data("\r\n") + data = @io.read_nonblock(16384, BUF) + @client.write(sprintf("%x\r\n", data.size)) + @client.write(data) + @client.write("\r\n") + rescue Errno::EINTR + retry + rescue Errno::EAGAIN + return + rescue EOFError + detach + return end while true end end -- cgit v1.2.3-24-ge0c7