module IO::Event::Support

def self.buffer?

def self.buffer?
	IO.const_defined?(:Buffer)
end

def self.fiber_scheduler_v1?

def self.fiber_scheduler_v1?
	IO.const_defined?(:Buffer) and !Fiber.respond_to?(:blocking)
end

def self.fiber_scheduler_v2?

def self.fiber_scheduler_v2?
	IO.const_defined?(:Buffer) and Fiber.respond_to?(:blocking) and IO::Buffer.instance_method(:read).arity == -1
end