
    <|h                     (    d dl Z dgZ G d de      Zy)    NResolverc                   Z    e Zd ZdZddZd ZdD ]  Z e ee	e             e
       e<    y)r   a  
    A resolver that directly uses the system's resolver functions.

    .. caution::

        This resolver is *not* cooperative.

    This resolver has the lowest overhead of any resolver and
    typically approaches the speed of the unmodified :mod:`socket`
    functions. However, it is not cooperative, so if name resolution
    blocks, the entire thread and all its greenlets will be blocked.

    This can be useful during debugging, or it may be a good choice if
    your operating system provides a good caching resolver (such as
    macOS's Directory Services) that is usually very fast and
    functionally non-blocking.

    .. versionchanged:: 1.3a2
       This was previously undocumented and existed in :mod:`gevent.socket`.

    Nc                      y N )selfhubs     W/var/www/html/test/engine/venv/lib/python3.12/site-packages/gevent/resolver/blocking.py__init__zResolver.__init__            c                      y r   r   )r   s    r
   closezResolver.close#   r   r   )gethostbynamegethostbyname_exgetaddrinfogethostbyaddrgetnameinfor   )__name__
__module____qualname____doc__r   r   methodstaticmethodgetattr_socketlocalsr   r   r
   r   r   	   s>    , B ((@ABr   )r   __all__objectr   r   r   r
   <module>r       s$     $Bv $Br   