From 728496a31f34234b46d7025a23933aa06dd824f5 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Mon, 27 Dec 2010 13:10:57 -0800 Subject: coolio_fiber_spawn: decrease CPU usage for keepalive Blindly resuming fibers every second is a waste of cycles, we can use the ZZ hash in regular FiberSpawn to resume expired fibers on an as-needed basis. While we're at it, merge the keepalive-timeout class into the heartbeat, there's no reason to have separate timers and classes here. --- lib/rainbows/fiber/rev/kato.rb | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 lib/rainbows/fiber/rev/kato.rb (limited to 'lib/rainbows/fiber/rev/kato.rb') diff --git a/lib/rainbows/fiber/rev/kato.rb b/lib/rainbows/fiber/rev/kato.rb deleted file mode 100644 index 056b6ef..0000000 --- a/lib/rainbows/fiber/rev/kato.rb +++ /dev/null @@ -1,22 +0,0 @@ -# -*- encoding: binary -*- -# :enddoc: -# keep-alive timeout class -class Rainbows::Fiber::Rev::Kato < Rev::TimerWatcher - def initialize - @watch = [] - super(1, true) - end - - def <<(fiber) - @watch << fiber - enable unless enabled? - end - - def on_timer - @watch.uniq! - while f = @watch.shift - f.resume if f.alive? - end - disable - end -end -- cgit v1.2.3-24-ge0c7