diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-11-19 10:19:43 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-11-19 14:44:21 -0800 |
commit | 00b854e37391322c05cc16115b245d855b4970be (patch) | |
tree | d6ad270abfa9352efbeba27c85d64de11210270a /lib/rainbows/fiber | |
parent | 0f00424be24806791f2b253ddac6d35102842646 (diff) | |
download | rainbows-00b854e37391322c05cc16115b245d855b4970be.tar.gz |
Kgio 2.0.0 has a superior API and less likely to conflict or blow up with other applications. Unicorn 3.x requires Kgio 2.x, too.
Diffstat (limited to 'lib/rainbows/fiber')
-rw-r--r-- | lib/rainbows/fiber/body.rb | 2 | ||||
-rw-r--r-- | lib/rainbows/fiber/io.rb | 22 | ||||
-rw-r--r-- | lib/rainbows/fiber/io/methods.rb | 4 | ||||
-rw-r--r-- | lib/rainbows/fiber/rev/methods.rb | 4 |
4 files changed, 17 insertions, 15 deletions
diff --git a/lib/rainbows/fiber/body.rb b/lib/rainbows/fiber/body.rb index c6c4484..f3299dc 100644 --- a/lib/rainbows/fiber/body.rb +++ b/lib/rainbows/fiber/body.rb @@ -18,7 +18,7 @@ module Rainbows::Fiber::Body # :nodoc: begin offset += (n = sock.sendfile_nonblock(body, offset, count)) rescue Errno::EAGAIN - client.wait_writable + client.kgio_wait_writable retry rescue EOFError break diff --git a/lib/rainbows/fiber/io.rb b/lib/rainbows/fiber/io.rb index a9803ee..e96f4de 100644 --- a/lib/rainbows/fiber/io.rb +++ b/lib/rainbows/fiber/io.rb @@ -53,7 +53,7 @@ class Rainbows::Fiber::IO when String buf = rv when :wait_writable - wait_writable + kgio_wait_writable end end while true else @@ -61,7 +61,7 @@ class Rainbows::Fiber::IO (rv = @to_io.write_nonblock(buf)) == buf.bytesize and return buf = byte_slice(buf, rv..-1) rescue Errno::EAGAIN - wait_writable + kgio_wait_writable end while true end end @@ -83,7 +83,7 @@ class Rainbows::Fiber::IO when :wait_readable return if expire && expire < Time.now expire ||= Time.now + G.kato - wait_readable + kgio_wait_readable else return rv end @@ -94,7 +94,7 @@ class Rainbows::Fiber::IO rescue Errno::EAGAIN return if expire && expire < Time.now expire ||= Time.now + G.kato - wait_readable + kgio_wait_readable end while true end end @@ -107,7 +107,7 @@ class Rainbows::Fiber::IO when nil raise EOFError, "end of file reached", [] when :wait_readable - wait_readable + kgio_wait_readable else return rv end @@ -116,7 +116,7 @@ class Rainbows::Fiber::IO begin return @to_io.read_nonblock(length, buf) rescue Errno::EAGAIN - wait_readable + kgio_wait_readable end while true end end @@ -141,7 +141,9 @@ end require 'rainbows/fiber/io/methods' require 'rainbows/fiber/io/compat' Rainbows::Client.__send__(:include, Rainbows::Fiber::IO::Methods) -Rainbows::Fiber::IO.__send__(:include, Rainbows::Fiber::IO::Compat) -Rainbows::Fiber::IO.__send__(:include, Rainbows::Fiber::IO::Methods) -Kgio.wait_readable = :wait_readable -Kgio.wait_writable = :wait_writable +class Rainbows::Fiber::IO + include Rainbows::Fiber::IO::Compat + include Rainbows::Fiber::IO::Methods + alias_method :wait_readable, :kgio_wait_readable + alias_method :wait_writable, :kgio_wait_writable +end diff --git a/lib/rainbows/fiber/io/methods.rb b/lib/rainbows/fiber/io/methods.rb index 941a68c..6c4d44d 100644 --- a/lib/rainbows/fiber/io/methods.rb +++ b/lib/rainbows/fiber/io/methods.rb @@ -25,7 +25,7 @@ module Rainbows::Fiber::IO::Methods super end - def wait_readable + def kgio_wait_readable fd = fileno @f = Fiber.current RD[fd] = self @@ -33,7 +33,7 @@ module Rainbows::Fiber::IO::Methods RD[fd] = nil end - def wait_writable + def kgio_wait_writable fd = fileno @f = Fiber.current WR[fd] = self diff --git a/lib/rainbows/fiber/rev/methods.rb b/lib/rainbows/fiber/rev/methods.rb index c09268f..4345bdb 100644 --- a/lib/rainbows/fiber/rev/methods.rb +++ b/lib/rainbows/fiber/rev/methods.rb @@ -21,14 +21,14 @@ module Rainbows::Fiber::Rev::Methods super end - def wait_writable + def kgio_wait_writable @w = Watcher.new(self, :w) unless defined?(@w) @w.enable unless @w.enabled? Fiber.yield @w.disable end - def wait_readable + def kgio_wait_readable @r = Watcher.new(self, :r) unless defined?(@r) @r.enable unless @r.enabled? KATO << Fiber.current |