class Async::Container::Supervisor::Server
def run(parent: Task.current)
def run(parent: Task.current) parent.async do |task| @monitors.each do |monitor| begin monitor.run rescue => error Console.error(self, "Error while starting monitor!", monitor: monitor, exception: error) end end @endpoint.accept do |peer| connection = Connection.new(peer, 1) connection.run(self) ensure connection.close remove(connection) end task.children&.each(&:wait) ensure task.stop end end