class IO::Event::Debug::Selector
Enforces the selector interface and delegates operations to a wrapped selector instance.
def close
def close if @selector.nil? Kernel::raise "Selector already closed!" end @selector.close @selector = nil end
def initialize(selector)
def initialize(selector) @selector = selector @readable = {} @writable = {} @priority = {} unless Fiber.current == selector.loop Kernel::raise "Selector must be initialized on event loop fiber!" end end
def io_read(...)
def io_read(...) @selector.io_read(...) end
def io_wait(fiber, io, events)
def io_wait(fiber, io, events) @selector.io_wait(fiber, io, events) end
def io_write(...)
def io_write(...) @selector.io_write(...) end
def process_wait(*arguments)
def process_wait(*arguments) @selector.process_wait(*arguments) end
def push(fiber)
def push(fiber) @selector.push(fiber) end
def raise(fiber, *arguments)
def raise(fiber, *arguments) @selector.raise(fiber, *arguments) end
def ready?
def ready? @selector.ready? end
def respond_to?(name, include_private = false)
def respond_to?(name, include_private = false) @selector.respond_to?(name, include_private) end
def resume(*arguments)
def resume(*arguments) @selector.resume(*arguments) end
def select(duration = nil)
def select(duration = nil) unless Fiber.current == @selector.loop Kernel::raise "Selector must be run on event loop fiber!" end @selector.select(duration) end
def transfer
def transfer @selector.transfer end
def wakeup
def wakeup @selector.wakeup end
def yield
def yield @selector.yield end