관리-도구
편집 파일: _asyncio_backend.cpython-39.pyc
a �����M�e#����������������������@���s"��d�Z�ddlZddlZddlZddlZddlZddlZddlZej dkZ dd��ZG�dd��d�Zdd ��Z G�d d��dejj�ZG�dd ��d ejj�Zej�d��rddlZddlZddlZddlZejZejjjZddlmZmZmZ�G�dd��de�Z G�dd��dej!�Z"nejj#Z"G�dd��dejj$�Z$dS�)zasyncio library query support�����N�win32c�������������������C���s*���z t����W�S��ty$���t�����Y�S�0�d�S��N)�asyncioZget_running_loop�AttributeErrorZget_event_loop��r���r����8/usr/lib/python3.9/site-packages/dns/_asyncio_backend.py�_get_running_loop���s���� r���c�������������������@���s<���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd S�)�_DatagramProtocolc�����������������C���s���d�|�_�d�|�_d�S�r���)� transport�recvfrom��selfr���r���r����__init__���s����z_DatagramProtocol.__init__c�����������������C���s ���||�_�d�S�r���)r ���)r ���r ���r���r���r����connection_made���s����z!_DatagramProtocol.connection_madec�����������������C���s$���|�j�r |�j����s |�j��||f��d�S�r���)r����doneZ set_result)r ����dataZaddrr���r���r����datagram_received ���s����z#_DatagramProtocol.datagram_receivedc�����������������C���s ���|�j�r|�j����s|�j��|��d�S�r���)r���r���� set_exception)r ����excr���r���r����error_received$���s����z _DatagramProtocol.error_receivedc�������������� ���C���sd���|�j�r`|�j����s`|d�u�rTzt�W�q`�tyP�}�z|�j��|��W�Y�d�}~q`d�}~0�0�n|�j��|��d�S�r���)r���r����EOFErrorr���)r ���r����er���r���r����connection_lost(���s����$z!_DatagramProtocol.connection_lostc�����������������C���s���|�j�����d�S�r���)r ����closer���r���r���r���r���3���s����z_DatagramProtocol.closeN) �__name__� __module__�__qualname__r���r���r���r���r���r���r���r���r���r���r ������s���r ���c���������������������sP���|d�urBzt��|�|�I�d�H�W�S��t�jy>���tjj|d��Y�qL0�n |�I�d�H�S�d�S�)N)�timeout)r����wait_for�TimeoutError�dns� exceptionZTimeout)� awaitabler���r���r���r����_maybe_wait_for7���s����r#���c�����������������������sL���e�Zd�Z��fdd�Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z ���Z S�)�DatagramSocketc��������������������s���t����|��||�_||�_d�S�r���)�superr���r ����protocol)r ����familyr ���r&����� __class__r���r���r���B���s����zDatagramSocket.__init__c���������������������s���|�j��||��t|�S�r���)r ����sendto�len)r ����what�destinationr���r���r���r���r*���G���s����zDatagramSocket.sendtoc���������������������sT���t������}z:|�jjd�u�sJ��||�j_t||�I�d�H��|���W�d�|�j_S�d�|�j_0�d�S�r���)r���Z create_futurer&���r���r#����result)r ����sizer���r���r���r���r���r���L���s���� �zDatagramSocket.recvfromc���������������������s���|�j�����d�S�r���)r&���r���r���r���r���r���r���W���s����zDatagramSocket.closec���������������������s���|�j��d�S��NZpeername�r ����get_extra_infor���r���r���r����getpeernameZ���s����zDatagramSocket.getpeernamec���������������������s���|�j��d�S��NZsocknamer1���r���r���r���r����getsockname]���s����zDatagramSocket.getsocknamec���������������������s���t��d�S�r�����NotImplementedError�r ���r���r���r���r����getpeercert`���s����zDatagramSocket.getpeercert)r���r���r���r���r*���r���r���r3���r5���r9���� __classcell__r���r���r(���r���r$���A���s���r$���c�������������������@���sD���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd d��Z dS�)�StreamSocketc�����������������C���s���||�_�||�_||�_d�S�r���)r'����reader�writer)r ����afr<���r=���r���r���r���r���e���s����zStreamSocket.__init__c���������������������s"���|�j��|��t|�j����|�I�d�H�S�r���)r=����writer#���Zdrain)r ���r,���r���r���r���r����sendallj���s����zStreamSocket.sendallc���������������������s���t�|�j�|�|�I�d�H�S�r���)r#���r<����read)r ���r/���r���r���r���r����recvn���s����zStreamSocket.recvc���������������������s���|�j�����d�S�r���)r=���r���r���r���r���r���r���q���s����zStreamSocket.closec���������������������s���|�j��d�S�r0����r=���r2���r���r���r���r���r3���t���s����zStreamSocket.getpeernamec���������������������s���|�j��d�S�r4���rC���r���r���r���r���r5���w���s����zStreamSocket.getsocknamec���������������������s���|�j��d�S�)NZpeercertrC���r8���r���r���r���r9���z���s����zStreamSocket.getpeercertN) r���r���r���r���r@���rB���r���r3���r5���r9���r���r���r���r���r;���d���s���r;���Zdoh)�_compute_times�_expiration_for_this_attempt� _remainingc�����������������������s8���e�Zd�Z��fdd�Zd dd�Zddd�Zdd ��Z���ZS�)�_NetworkBackendc��������������������s6���t�������||�_||�_||�_||�_|dkr2td��d�S�)Nr���z9the asyncio transport for HTTPX cannot set the local port)r%���r���Z_local_port� _resolver�_bootstrap_address�_familyr7���)r ����resolver� local_port�bootstrap_addressr'���r(���r���r���r�������s���� �z_NetworkBackend.__init__Nc�������������� �������s��g�}t�|�\}}tj�|�r(|�|��nV|�jd�ur@|�|�j��n>t|�}|�j} |r^tj�|�} |�j j || |d�I�d�H�} | ���}|D�]x}z`td|�}t|�}t �|��&�t j|||d�I�d�H�} W�d�����n1�s�0����Y��t| �W���S��ty����Y�q�0�q�tj�d�S�)N)r'���Zlifetimeg�������@)Zremote_hostZremote_portZ local_host)rD���r ����inetZ is_address�appendrI���rF���rJ���Zaf_for_addressrH����resolve_name� addressesrE����anyioZ fail_after�connect_tcp�_CoreAnyIOStream� Exception�httpcoreZConnectError)r ����host�portr���Z local_address�socket_optionsrQ����_Z expirationr'���ZanswersZaddressZattempt_expiration�streamr���r���r���rS�������s8���� � �*z_NetworkBackend.connect_tcpc���������������������s���t��d�S�r���r6���)r ����pathr���rY���r���r���r����connect_unix_socket����s����z#_NetworkBackend.connect_unix_socketc���������������������s���t��|�I�d�H��d�S�r���)rR����sleep)r ���Zsecondsr���r���r���r^�������s����z_NetworkBackend.sleep)N)N)r���r���r���r���rS���r]���r^���r:���r���r���r(���r���rG�������s����� "�� rG���c�����������������������s*���e�Zd�Zdddejd���fdd� Z���ZS�)�_HTTPTransportr���N)rL���rM���rK���r'���c�������������������sB���|d�u�rdd�l�}|j���}t��j|i�|���t||||�|�j_d�S�)Nr���)Zdns.asyncresolverZ asyncresolverZResolverr%���r���rG���Z_poolZ_network_backend)r ���rL���rM���rK���r'����args�kwargsr ���r(���r���r���r�������s���� �z_HTTPTransport.__init__)r���r���r����socketZ AF_UNSPECr���r:���r���r���r(���r���r_�������s ����r_���c�������������������@���s>���e�Zd�Zdd��Zddd�Zdd��Zd d ��Zdd��Zd d��ZdS�)�Backendc�����������������C���s���dS�)Nr���r���r���r���r���r����name����s����zBackend.namer���Nc �������������� �������s����t���} |tjkrVtr,|d�u�r,tj�|�df}| jt||||d�I�d�H�\} }t || |�S�|tj kr�|d�u�rptd��tt j|d�|d�|||||d�|�I�d�H�\}} t||| �S�tdd|������d�S�)Nr���)r'����protoZremote_addrz'destination required for stream sockets����)Zsslr'���re���Z local_addr�server_hostnamezunsupported socket ztype )r���rb���Z SOCK_DGRAM� _is_win32r ���rN���Z any_for_afZcreate_datagram_endpointr ���r$���ZSOCK_STREAM� ValueErrorr#���r���Zopen_connectionr;���r7���)r ���r>���Zsocktypere����sourcer-���r���Zssl_contextrg���Zloopr ���r&����r�wr���r���r����make_socket����s>���� � � ��zBackend.make_socketc���������������������s���t��|�I�d�H��d�S�r���)r���r^���)r ����intervalr���r���r���r^��� ��s����z Backend.sleepc�����������������C���s���dS�)NFr���r���r���r���r����datagram_connection_required��s����z$Backend.datagram_connection_requiredc�����������������C���s���t�S�r���)r_���r���r���r���r����get_transport_class��s����zBackend.get_transport_classc���������������������s���t�||�I�d�H�S�r���)r#���)r ���r"���r���r���r���r���r�����s����zBackend.wait_for)r���NNNNN) r���r���r���rd���rm���r^���ro���rp���r���r���r���r���r���rc�������s���������� /rc���)%�__doc__r���rb����sysZdns._asyncbackendr ���Z dns._featuresZ dns.exceptionZdns.inet�platformrh���r���r ���r#���Z _asyncbackendr$���r;���Z _featuresZhaverR���rV���Zhttpcore._backends.anyioZhttpxZAsyncNetworkBackendZ_CoreAsyncNetworkBackendZ _backendsZAnyIOStreamrT���Z dns.queryrD���rE���rF���rG���ZAsyncHTTPTransportr_���Z NullTransportrc���r���r���r���r����<module>���s2��� # 5