Viewing File: /opt/alt/python35/lib64/python3.5/site-packages/aiohttp/__pycache__/resolver.cpython-35.opt-1.pyc
Z @ s d d l Z d d l Z d d l m Z d
Z y d d l Z Wn e k
rX d Z Yn Xd Z Gd d d e Z Gd d d e Z e r e n e Z
d S) N )AbstractResolverThreadedResolver
AsyncResolverDefaultResolverFc @ sF e Z d Z d Z d d d Z d e j d d Z d d Z d S)
r zsUse Executor for synchronous getaddrinfo() calls, which defaults to
concurrent.futures.ThreadPoolExecutor.
Nc C s% | d k r t j } | | _ d S)N)asyncioget_event_loop_loop)selfloop r /resolver.py__init__ s zThreadedResolver.__init__r c s | j j | | d t j d | Id H} g } xY | D]Q \ } } } } } | j d | d | d d | d d | d | d t j i q6 W| S)
Ntypefamilyhostnamehostr portr protoflags)r getaddrinfosocketSOCK_STREAMappendAI_NUMERICHOST) r
r r r Zinfoshosts_r addressr r r
resolve s zThreadedResolver.resolvec s d S)Nr )r
r r r
close* s zThreadedResolver.close) __name__
__module____qualname____doc__r r AF_INETr r r r r r
r s c @ s[ e Z d Z d Z d d d Z d e j d d Z d e j d d Z d
d Z d S)r z9Use the `aiodns` package to make asynchronous DNS lookupsNc O sv | d k r t j } t d k r0 t d | | _ t j | d | | | _ t | j d sr | j | _ d S)Nz Resolver requires aiodns libraryr
gethostbyname)
r r aiodnsRuntimeErrorr ZDNSResolver _resolverhasattr_resolve_with_queryr )r
r argskwargsr r r
r 1 s zAsyncResolver.__init__r c s y | j j | | Id H} Wnb t j j k
r } z<