def _setup_bcp_servers(self, queue: QueuedEvent, **kwargs): """Start BCP servers to allow other clients to connect.""" del kwargs if 'servers' not in self.machine.config[ 'bcp'] or not self.machine.config['bcp']['servers']: return servers_start_futures = [] for settings in self.machine.config['bcp']['servers'].values(): settings = self.machine.config_validator.validate_config( "bcp:servers", settings) server = BcpServer(self.machine, settings['ip'], settings['port'], settings['type']) server_future = Util.ensure_future(server.start(), loop=self.machine.clock.loop) server_future.add_done_callback( lambda x, s=server: self.servers.append(s)) servers_start_futures.append(server_future) # block init until all servers were started if servers_start_futures: queue.wait() future = Util.ensure_future(asyncio.wait( iter(servers_start_futures), loop=self.machine.clock.loop), loop=self.machine.clock.loop) future.add_done_callback(lambda x: queue.clear())
def _setup_bcp_servers(self, **kwargs): """Start BCP servers to allow other clients to connect.""" del kwargs if 'servers' not in self.machine.config[ 'bcp'] or not self.machine.config['bcp']['servers']: return for settings in self.machine.config['bcp']['servers'].values(): server = BcpServer(self.machine, settings['ip'], settings['port'], settings['type']) self.machine.clock.loop.run_until_complete(server.start()) self.servers.append(server)