Hacked By AnonymousFox

Current Path : /opt/alt/python38/lib/python3.8/site-packages/urllib3/util/__pycache__/
Upload File :
Current File : //opt/alt/python38/lib/python3.8/site-packages/urllib3/util/__pycache__/wait.cpython-38.pyc

U

��`�@s�ddlZddlZddlZddlmZzddlmZWn ek
rTddlmZYnXdddgZGdd�de	�Z
ejd	kr�d
d�Zndd�Zddd�Z
ddd�Zdd�Zdd�Zdd�addd�Zddd�ZdS)�N)�partial)�	monotonic)�time�NoWayToWaitForSocketError�
wait_for_read�wait_for_writec@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�B/opt/alt/python38/lib/python3.8/site-packages/urllib3/util/wait.pyrs)��cCs||�S)Nr)�fn�timeoutrrr�_retry_on_intr*src
Cs�|dkrtd�}n
t�|}z
||�WSttjfk
r�}zF|jdtjkrR�n.|t�}|dkrhd}|td�krxd}WY�qW5d}~XYqXqdS)N�infr)�floatr�OSError�select�error�args�errnoZEINTR)rrZdeadline�errrr0s



Fc
Csd|s|std��g}g}|r&|�|�|r4|�|�ttj|||�}t||�\}}}	t|p`|p`|	�S)N�2must specify at least one of read=True, write=True)�RuntimeError�appendrrr�bool)
�sock�read�writerZrcheckZwcheckrZrreadyZwreadyZxreadyrrr�select_wait_for_socketGs

r!cs^|s|std��d}|r"|tjO}|r0|tjO}t�����||��fdd�}tt||��S)Nrrcs|dk	r|d9}��|�S)Ni�)�poll)�t�Zpoll_objrr�do_pollfsz%poll_wait_for_socket.<locals>.do_poll)rr�POLLIN�POLLOUTr"�registerrr)rrr r�maskr%rr$r�poll_wait_for_socketZs

r*cOstd��dS)Nzno select-equivalent available)r�r�kwargsrrr�null_wait_for_socketnsr-c	Cs<zt��}t|jd�Wnttfk
r2YdSXdSdS)NrFT)rr"r�AttributeErrorrr$rrr�_have_working_pollrsr/cOs*t�rtanttd�rtantat||�S)Nr)r/r*�wait_for_socket�hasattrrr!r-r+rrrr0s
r0cCst|d|d�S)z�Waits for reading to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    T)rr�r0�rrrrrr�scCst|d|d�S)z�Waits for writing to be available on a given socket.
    Returns True if the socket is readable, or False if the timeout expired.
    T)r rr2r3rrrr�s)FFN)FFN)N)N)rr�sys�	functoolsrrr�ImportError�__all__�	Exceptionr�version_inforr!r*r-r/r0rrrrrr�<module>s&








Hacked By AnonymousFox1.0, Coded By AnonymousFox