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

Transfer from the calling fiber to the event loop.
def transfer
	@selector.transfer
end

def wakeup

def wakeup
	@selector.wakeup
end

def yield

def yield
	@selector.yield
end