about summary refs log tree commit homepage
path: root/lib/rainbows/event_machine/server.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2010-12-26 23:12:18 +0000
committerEric Wong <normalperson@yhbt.net>2010-12-26 23:12:18 +0000
commit20e8d57127f16da8e4242582dee3b99d54cbb729 (patch)
tree750fb8d19e7fc839b1a28de241e4aeee8698b1e7 /lib/rainbows/event_machine/server.rb
parenta50c9d312b9d5274a95f2816b5f53a3738d0cb92 (diff)
downloadrainbows-20e8d57127f16da8e4242582dee3b99d54cbb729.tar.gz
This should make things easier to find
Diffstat (limited to 'lib/rainbows/event_machine/server.rb')
-rw-r--r--lib/rainbows/event_machine/server.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/rainbows/event_machine/server.rb b/lib/rainbows/event_machine/server.rb
new file mode 100644
index 0000000..696bc8b
--- /dev/null
+++ b/lib/rainbows/event_machine/server.rb
@@ -0,0 +1,15 @@
+# -*- encoding: binary -*-
+module Rainbows::EventMachine::Server # :nodoc: all
+  def close
+    detach
+    @io.close
+  end
+
+  # CL, CUR and MAX will be set when worker_loop starts
+  def notify_readable
+    return if CUR.size >= MAX
+    io = @io.kgio_tryaccept or return
+    sig = EM.attach_fd(io.fileno, false)
+    CUR[sig] = CL.new(sig, io)
+  end
+end