vnc_session.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:universe 作者: openai 项目源码 文件源码
def _connect(self):
        deferreds = []

        for i, remote in enumerate(self.remotes):
            d = defer.Deferred()
            deferreds.append(d)

            factory = vnc_client.client_factory(d, self.error_buffer)
            factory.rewarder_session = self
            factory.label = 'vnc:{}:{}'.format(i, remote)
            endpoint = endpoints.clientFromString(reactor, 'tcp:'+remote)

            def success(i):
                logger.info('[%s] VNC connection established', factory.label)

            def fail(reason):
                reason = error.Error('[{}] Connection failed: {}'.format(factory.label, reason.value))
                try:
                    d.errback(utils.format_error(reason))
                except defer.AlreadyCalledError:
                    pass
            endpoint.connect(factory).addCallback(success).addErrback(fail)

        d = defer.DeferredList(deferreds, fireOnOneErrback=True)

        def success(results):
            # Store the _clients list when connected
            self._clients = [client for success, client in results]
        d.addCallback(success)
        return d
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号