Exemple #1
0
    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())
Exemple #2
0
    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)