class Async::Reactor

def run(*arguments, &block)

loop, if a block is provided.
invoked. Proxies arguments to {#async} immediately before entering the
Run the reactor until either all tasks complete or {#pause} or {#stop} is
def run(*arguments, &block)
	raise RuntimeError, 'Reactor has been closed' if @selector.nil?
	
	initial_task = self.async(*arguments, &block) if block_given?
	
	while self.run_once
		# Round and round we go!
	end
	
	return initial_task
ensure
	logger.debug(self) {"Exiting run-loop because #{$! ? $! : 'finished'}."}
end