class_docstr: Twisted-based asynchronous resolver.
  
  This is a non-blocking and non-threaded resolver.  It is
  recommended only when threads cannot be used, since it has
  limitations compared to the standard ``getaddrinfo``-based
  `~tornado.netutil.Resolver` and
  `~tornado.netutil.DefaultExecutorResolver`.  Specifically, it returns at
  most one result, and arguments other than ``host`` and ``family``
  are ignored.  It may fail to resolve when ``family`` is not
  ``socket.AF_UNSPEC``.
  
  Requires Twisted 12.1 or newer.
  
  .. versionchanged:: 5.0
     The ``io_loop`` argument (deprecated since version 4.1) has been removed.
  
  .. deprecated:: 6.2
     This class is deprecated and will be removed in Tornado 7.0. Use the default
     thread-based resolver instead.
class_docstr_tok: ["Twisted-based","asynchronous","resolver",".","This","is","a","non-blocking","and","non-threaded","resolver",".","It","is","recommended","only","when","threads","can","not","be","used",",","since","it","has","limitations","compared","to","the","standard","``","getaddrinfo","``","-based","`","~tornado.netutil.Resolver","`","and","`","~tornado.netutil.DefaultExecutorResolver","`",".","Specifically",",","it","returns","at","most","one","result",",","and","arguments","other","than","``","host","``","and","``","family","``","are","ignored",".","It","may","fail","to","resolve","when","``","family","``","is","not","``","socket.AF_UNSPEC","``",".","Requires","Twisted","12.1","or","newer",".","..","versionchanged",":",":","5.0","The","``","io_loop","``","argument","(","deprecated","since","version","4.1",")","has","been","removed",".","..","deprecated",":",":","6.2","This","class","is","deprecated","and","will","be","removed","in","Tornado","7.0",".","Use","the","default","thread-based","resolver","instead","."]
code: def initialize(self) -> None:
      # partial copy of twisted.names.client.createResolver, which doesn't
      # allow for a reactor to be passed in.
      self.reactor = (
          twisted.internet.asyncioreactor.AsyncioSelectorReactor()
      )
  
      host_resolver = twisted.names.hosts.Resolver("/etc/hosts")
      cache_resolver = twisted.names.cache.CacheResolver(
          reactor=self.reactor
      )
      real_resolver = twisted.names.client.Resolver(
          "/etc/resolv.conf", reactor=self.reactor
      )
      self.resolver = twisted.names.resolve.ResolverChain(
          [host_resolver, cache_resolver, real_resolver]
      )
  
file_path: catboost/contrib/python/tornado/tornado-6/tornado/platform/twisted.py
imports: import socket
  import sys
  import twisted.internet.abstract
  import twisted.internet.asyncioreactor
  from twisted.internet.defer import Deferred
  from twisted.python import failure
  import twisted.names.cache
  import twisted.names.client
  import twisted.names.hosts
  import twisted.names.resolve
  from tornado.concurrent import Future, future_set_exc_info
  from tornado.escape import utf8
  from tornado import gen
  from tornado.netutil import Resolver
  import typing
label_desc: Use image node_id 1 for calling the TwistedResolver obj's underlying member method code with example usage: obj.initialize() without return types