From 19960488441651d689259071fa1be4f6957d681b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 22 Dec 2009 00:32:04 -0800 Subject: new RevFiberSpawn concurrency model This is like the traditional FiberSpawn, but more scalable (but not necessarily faster) as it can use epoll or kqueue. --- t/simple-http_RevFiberSpawn.ru | 10 ++++++++++ t/sleep.ru | 2 ++ t/t9000.ru | 2 ++ 3 files changed, 14 insertions(+) create mode 100644 t/simple-http_RevFiberSpawn.ru (limited to 't') diff --git a/t/simple-http_RevFiberSpawn.ru b/t/simple-http_RevFiberSpawn.ru new file mode 100644 index 0000000..ea9b0e3 --- /dev/null +++ b/t/simple-http_RevFiberSpawn.ru @@ -0,0 +1,10 @@ +use Rack::ContentLength +use Rack::ContentType +run lambda { |env| + if env['rack.multithread'] == false && + env['rainbows.model'] == :RevFiberSpawn + [ 200, {}, [ Thread.current.inspect << "\n" ] ] + else + raise env.inspect + end +} diff --git a/t/sleep.ru b/t/sleep.ru index 2df22ce..d0fd832 100644 --- a/t/sleep.ru +++ b/t/sleep.ru @@ -12,6 +12,8 @@ run lambda { |env| Rainbows::Fiber when :Revactor Actor + when :RevFiberSpawn + Rainbows::Fiber::Rev else Kernel end).sleep(nr) diff --git a/t/t9000.ru b/t/t9000.ru index 4ca36c1..abf36b2 100644 --- a/t/t9000.ru +++ b/t/t9000.ru @@ -8,6 +8,8 @@ class Sleeper Rainbows::Fiber when :Revactor Actor + when :RevFiberSpawn + Rainbows::Fiber::Rev else Kernel end).sleep(1) -- cgit v1.2.3-24-ge0c7