tornado.platform.twisted
— Twisted 和 Tornado 之间的桥梁¶
自版本 6.0 起弃用: 此模块不再推荐用于新代码。新应用程序应该依赖于这两个包提供的与 asyncio
的集成,而不是使用 Tornado 和 Twisted 之间的直接集成。
导入此模块会将 Twisted 的 Deferred
类注册到 Tornado 的 @gen.coroutine
,以便 Deferred
对象可以使用 yield
在使用此装饰器的协程中使用(导入此模块不会影响使用 async def
的原生协程)。
- tornado.platform.twisted.install()¶
将
AsyncioSelectorReactor
安装为默认 Twisted reactor。自版本 5.1 起弃用: 此函数是为了向后兼容性提供的;不需要与旧版本 Tornado 兼容的代码应该直接使用
twisted.internet.asyncioreactor.install()
。在版本 6.0.3 中更改: 在 Tornado 5.x 及之前版本中,此函数安装了一个基于 Tornado
IOLoop
的 reactor。当该 reactor 实现从 Tornado 6.0.0 中删除时,此函数也被删除了。它在 Tornado 6.0.3 中使用asyncio
reactor 恢复。
Twisted DNS 解析器¶
- class tornado.platform.twisted.TwistedResolver¶
基于 Twisted 的异步解析器。
这是一个非阻塞和非线程的解析器。仅当无法使用线程时才推荐使用它,因为它与标准的
getaddrinfo
-basedResolver
和DefaultExecutorResolver
相比存在限制。具体来说,它最多返回一个结果,并且忽略host
和family
以外的参数。当family
不是socket.AF_UNSPEC
时,它可能无法解析。需要 Twisted 12.1 或更高版本。
在版本 5.0 中更改: 已删除
io_loop
参数(自版本 4.1 起已弃用)。自版本 6.2 起弃用: 此类已弃用,将在 Tornado 7.0 中删除。请使用默认的基于线程的解析器。