1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
U
I=®dã@sÐddlZddlmZddlZddlZzddlmZWn ek
rTddlmZYnXdddgZGdd„de    ƒZ
ej d    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__©r r úTD:\z\workplace\VsCode\pyvenv\venv\Lib\site-packages\pip/_vendor/urllib3/util/wait.pyrs)éécCs||ƒS)Nr )ÚfnÚtimeoutr r r Ú_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)rrÚdeadlineÚer r r 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ÚwriterÚrcheckÚwcheckrÚrreadyÚwreadyÚxreadyr r r Ú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©Úpoll_objr r Údo_pollfsz%poll_wait_for_socket.<locals>.do_poll)rrÚPOLLINÚPOLLOUTr(Úregisterrr)rr r!rÚmaskr,r r*r Úpoll_wait_for_socketZs
 
  r1cOs tdƒ‚dS)Nzno select-equivalent available)r©rÚkwargsr r r Únull_wait_for_socketnsr4c    Cs<zt ¡}t|jdƒWnttfk
r2YdSXdSdS)NrFT)rr(rÚAttributeErrorrr*r r r Ú_have_working_pollrs r6cOs*tƒr tanttdƒrtantat||ŽS)Nr)r6r1Úwait_for_socketÚhasattrrr'r4r2r r r r7s 
r7cCst|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)r r©r7©rrr r r 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!rr9r:r r r r•s)FFN)FFN)N)N)rÚ    functoolsrrÚsysrrÚ ImportErrorÚ__all__Ú    ExceptionrÚ version_inforr'r1r4r6r7rrr r r r Ú<module>s&