class Async::Reactor

def initialize(parent = nil, selector: self.class.selector, logger: nil)

def initialize(parent = nil, selector: self.class.selector, logger: nil)
	super(parent)
	
	@selector = selector
	@timers = Timers::Group.new
	@logger = logger
	
	@ready = []
	@running = []
	
	if Scheduler.supported?
		@scheduler = Scheduler.new(self)
	else
		@scheduler = nil
	end
	
	@interrupted = false
	@guard = Mutex.new
	@blocked = 0
	@unblocked = []
end