1 # -*- encoding: binary -*-
3 module Rainbows::Fiber::Rev::Methods
4 class Watcher < Rev::IOWatcher
5 def initialize(fio, flag)
6 @f = fio.f || Fiber.current
8 attach(Rev::Loop.default)
15 alias on_writable on_readable
32 @w ||= Watcher.new(self, :w)
33 @w.enable unless @w.enabled?
39 @r ||= Watcher.new(self, :r)
40 @r.enable unless @r.enabled?
50 # the next two trigger autoload, ugh, oh well...
51 Rainbows::Fiber::IO::Socket,
52 Rainbows::Fiber::IO::Pipe
54 klass.__send__(:include, Rainbows::Fiber::Rev::Methods)