Your IP : 216.73.216.61


Current Path : /opt/alt/python35/lib/python3.5/site-packages/aiodns/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/aiodns/__pycache__/__init__.cpython-35.pyc



Upz\��@s�ddlZddlZddlZddlmZmZmZddlmZdZ	dZ
dZdZd	ej
d
ejdejdejd
ejdejdejdejdejdejdejiZGdd�d�ZdS)�N)�Any�List�Optional�)�errorz2.0.0�DNSResolverr��AZAAAA�ANYZCNAMEZMXZNAPTRZNSZPTRZSOAZSRVZTXTc@s�eZdZdddd�Zedd��Zejdd��Zedd��Zd	d
�Z	dd�Z
d
d�Zdd�Zdd�Z
dd�Zdd�ZdS)rNcKs�|ptj�|_|jdk	s*t�|jdd�tjd|j|�|_|rd||_	t
�|_t
�|_d|_
dS)NZ
sock_state_cb)�asyncioZget_event_loop�loop�AssertionError�pop�pycaresZChannel�_sock_state_cb�_channel�nameservers�set�	_read_fds�
_write_fds�_timer)�selfrr�kwargs�r�@/opt/alt/python35/lib/python3.5/site-packages/aiodns/__init__.py�__init__'s	zDNSResolver.__init__cCs
|jjS)N)r�servers)rrrrr3szDNSResolver.nameserverscCs||j_dS)N)rr)r�valuerrrr8scCsU|j�rdS|dk	rD|jtj|tjj|���n
|j|�dS)N)Z	cancelledZ
set_exceptionrZDNSErrorr�errno�strerrorZ
set_result)�fut�resultZerrornorrr�	_callback=s
(zDNSResolver._callbackcCs|yt|}Wn'tk
r7tdj|���YnXtjd|j�}tj|j	|�}|j
j|||�|S)Nzinvalid query type: {}r)�query_type_map�KeyError�
ValueError�formatr�Futurer�	functools�partialr"r�query)r�hostZqtyper �cbrrrr*Gs
zDNSResolver.querycCsDtjd|j�}tj|j|�}|jj|||�|S)Nr)rr'rr(r)r"r�
gethostbyname)rr+�familyr r,rrrr-RszDNSResolver.gethostbynamecCsAtjd|j�}tj|j|�}|jj||�|S)Nr)rr'rr(r)r"r�
gethostbyaddr)r�namer r,rrrr/YszDNSResolver.gethostbyaddrcCs|jj�dS)N)r�cancel)rrrrr1`szDNSResolver.cancelcCs8|s|r�|r>|jj||j|t�|jj|�|rp|jj||j|t�|jj|�|j	dkr4|jj
d|j�|_	n�||jkr�|jj|�|jj
|�||jkr�|jj|�|jj|�|jr4|jr4|j	dk	r4|j	j�d|_	dS)Ng�?)rZ
add_reader�
_handle_event�READr�addZ
add_writer�WRITErr�
call_later�	_timer_cb�discardZ
remove_readerZ
remove_writerr1)r�fd�readable�writablerrrrds$#
zDNSResolver._sock_state_cbcCsPtj}tj}|tkr'|}n|tkr9|}|jj||�dS)N)r�ARES_SOCKET_BADr3r5r�
process_fd)rr9�eventZread_fdZwrite_fdrrrr2}s			zDNSResolver._handle_eventcCsV|js|jrI|jjtjtj�|jjd|j�|_	n	d|_	dS)Ng�?)
rrrr=rr<rr6r7r)rrrrr7�szDNSResolver._timer_cb)�__name__�
__module__�__qualname__r�propertyr�setter�staticmethodr"r*r-r/r1rr2r7rrrrr&s

)rr)rr(r�typingrrr�r�__version__�__all__r3r5ZQUERY_TYPE_AZQUERY_TYPE_AAAAZQUERY_TYPE_ANYZQUERY_TYPE_CNAMEZ
QUERY_TYPE_MXZQUERY_TYPE_NAPTRZ
QUERY_TYPE_NSZQUERY_TYPE_PTRZQUERY_TYPE_SOAZQUERY_TYPE_SRVZQUERY_TYPE_TXTr#rrrrr�<module>s(