File manager - Edit - /usr/local/CyberPanel/lib/python3.10/site-packages/tornado/platform/__pycache__/caresresolver.cpython-310.pyc
Back
o �h� � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z m Z d dlZejr7d dlm Z mZmZmZmZ G dd� de �ZdS ) � N)�Future)�gen)�IOLoop)�Resolver�is_valid_ip)� Generator�Any�List�Tuple�Dictc @ sn e Zd ZdZddd�Zdedededdfd d �Zdededdfdd �Ze j ddedededdfdd��ZdS )� CaresResolvera Name resolver based on the c-ares library. This is a non-blocking and non-threaded resolver. It may not produce the same results as the system resolver, but can be used for non-blocking resolution when threads cannot be used. ``pycares`` will not return a mix of ``AF_INET`` and ``AF_INET6`` when ``family`` is ``AF_UNSPEC``, so it is only recommended for use in ``AF_INET`` (i.e. IPv4). This is the default for ``tornado.simple_httpclient``, but other libraries may default to ``AF_UNSPEC``. .. 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. �returnNc C s$ t �� | _tj| jd�| _i | _d S )N)� sock_state_cb)r �current�io_loop�pycares�Channel�_sock_state_cb�channel�fds)�self� r �T/usr/local/CyberPanel/lib/python3.10/site-packages/tornado/platform/caresresolver.py� initialize$ s zCaresResolver.initialize�fd�readable�writablec C s~ |rt jnd|rt jndB }|s| j�|� | j|= d S || jv r/| j�||� || j|<