美文网首页
【python】paramiko源码event线程等待认证超时

【python】paramiko源码event线程等待认证超时

作者: 小熊猫笔记 | 来源:发表于2020-05-20 10:39 被阅读0次
    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException('Authentication failed.')
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException('Authentication timeout.')

        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException('Authentication failed.')
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
            raise e
        return []

相关文章

网友评论

      本文标题:【python】paramiko源码event线程等待认证超时

      本文链接:https://www.haomeiwen.com/subject/zcdgohtx.html