class Async::Reactor

def sleep(duration)

@parameter duration [Numeric] The time in seconds, to sleep for.
Put the calling fiber to sleep for a given ammount of time.
def sleep(duration)
	fiber = Fiber.current
	
	timer = @timers.after(duration) do
		if fiber.alive?
			fiber.resume
		end
	end
	
	Task.yield
ensure
	timer.cancel if timer
end