/usr/lib64/python3.9/asyncio/__pycache__
NameSizeModeActions
base_events.cpython-39.opt-1.pyc521760644editdlrm
base_events.cpython-39.opt-2.pyc431470644editdlrm
base_events.cpython-39.pyc523000644editdlrm
base_futures.cpython-39.opt-1.pyc19100644editdlrm
base_futures.cpython-39.opt-2.pyc16560644editdlrm
base_futures.cpython-39.pyc19100644editdlrm
base_subprocess.cpython-39.opt-1.pyc93420644editdlrm
base_subprocess.cpython-39.opt-2.pyc92420644editdlrm
base_subprocess.cpython-39.pyc94120644editdlrm
base_tasks.cpython-39.opt-1.pyc19460644editdlrm
base_tasks.cpython-39.opt-2.pyc19460644editdlrm
base_tasks.cpython-39.pyc19460644editdlrm
constants.cpython-39.opt-1.pyc5830644editdlrm
constants.cpython-39.opt-2.pyc5830644editdlrm
constants.cpython-39.pyc5830644editdlrm
coroutines.cpython-39.opt-1.pyc65750644editdlrm
coroutines.cpython-39.opt-2.pyc63430644editdlrm
coroutines.cpython-39.pyc66390644editdlrm
events.cpython-39.opt-1.pyc280780644editdlrm
events.cpython-39.opt-2.pyc189810644editdlrm
events.cpython-39.pyc281600644editdlrm
exceptions.cpython-39.opt-1.pyc25550644editdlrm
exceptions.cpython-39.opt-2.pyc19110644editdlrm
exceptions.cpython-39.pyc25550644editdlrm
format_helpers.cpython-39.opt-1.pyc23260644editdlrm
format_helpers.cpython-39.opt-2.pyc20820644editdlrm
format_helpers.cpython-39.pyc23260644editdlrm
futures.cpython-39.opt-1.pyc116270644editdlrm
futures.cpython-39.opt-2.pyc81210644editdlrm
futures.cpython-39.pyc117780644editdlrm
locks.cpython-39.opt-1.pyc144660644editdlrm
locks.cpython-39.opt-2.pyc82290644editdlrm
locks.cpython-39.pyc144660644editdlrm
log.cpython-39.opt-1.pyc2280644editdlrm
log.cpython-39.opt-2.pyc1890644editdlrm
log.cpython-39.pyc2280644editdlrm
proactor_events.cpython-39.opt-1.pyc241860644editdlrm
proactor_events.cpython-39.opt-2.pyc237860644editdlrm
proactor_events.cpython-39.pyc244160644editdlrm
protocols.cpython-39.opt-1.pyc84370644editdlrm
protocols.cpython-39.opt-2.pyc33570644editdlrm
protocols.cpython-39.pyc84370644editdlrm
queues.cpython-39.opt-1.pyc84660644editdlrm
queues.cpython-39.opt-2.pyc57870644editdlrm
queues.cpython-39.pyc84660644editdlrm
runners.cpython-39.opt-1.pyc22090644editdlrm
runners.cpython-39.opt-2.pyc15270644editdlrm
runners.cpython-39.pyc22090644editdlrm
selector_events.cpython-39.opt-1.pyc296740644editdlrm
selector_events.cpython-39.opt-2.pyc280280644editdlrm
selector_events.cpython-39.pyc297180644editdlrm
sslproto.cpython-39.opt-1.pyc217240644editdlrm
sslproto.cpython-39.opt-2.pyc147730644editdlrm
sslproto.cpython-39.pyc218880644editdlrm
staggered.cpython-39.opt-1.pyc40090644editdlrm
staggered.cpython-39.opt-2.pyc18760644editdlrm
staggered.cpython-39.pyc41620644editdlrm
streams.cpython-39.opt-1.pyc203610644editdlrm
streams.cpython-39.opt-2.pyc144670644editdlrm
streams.cpython-39.pyc205880644editdlrm
subprocess.cpython-39.opt-1.pyc73230644editdlrm
subprocess.cpython-39.opt-2.pyc71950644editdlrm
subprocess.cpython-39.pyc73370644editdlrm
tasks.cpython-39.opt-1.pyc242490644editdlrm
tasks.cpython-39.opt-2.pyc169980644editdlrm
tasks.cpython-39.pyc242890644editdlrm
threads.cpython-39.opt-1.pyc9800644editdlrm
threads.cpython-39.opt-2.pyc5140644editdlrm
threads.cpython-39.pyc9800644editdlrm
transports.cpython-39.opt-1.pyc125220644editdlrm
transports.cpython-39.opt-2.pyc69720644editdlrm
transports.cpython-39.pyc125360644editdlrm
trsock.cpython-39.opt-1.pyc85710644editdlrm
trsock.cpython-39.opt-2.pyc83150644editdlrm
trsock.cpython-39.pyc85710644editdlrm
unix_events.cpython-39.opt-1.pyc417260644editdlrm
unix_events.cpython-39.opt-2.pyc365030644editdlrm
unix_events.cpython-39.pyc420460644editdlrm
windows_events.cpython-39.opt-1.pyc247170644editdlrm
windows_events.cpython-39.opt-2.pyc236100644editdlrm
windows_events.cpython-39.pyc247330644editdlrm
windows_utils.cpython-39.opt-1.pyc44370644editdlrm
windows_utils.cpython-39.opt-2.pyc40030644editdlrm
windows_utils.cpython-39.pyc45050644editdlrm
__init__.cpython-39.opt-1.pyc7810644editdlrm
__init__.cpython-39.opt-2.pyc7250644editdlrm
__init__.cpython-39.pyc7810644editdlrm
__main__.cpython-39.opt-1.pyc32120644editdlrm
__main__.cpython-39.opt-2.pyc32120644editdlrm
__main__.cpython-39.pyc32120644editdlrm
Edit: /usr/lib64/python3.9/asyncio/__pycache__/windows_events.cpython-39.pyc (24733B)
a ´i�ã@s¶dZddlZejdkredƒ‚ddlZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl mZddl mZddl mZdd l mZdd l mZdd l mZdd l mZdd l mZddlmZdZdZdZdZdZdZdZGdd„dejƒZ Gdd„dejƒZ!Gdd„de!ƒZ"Gdd„de!ƒZ#Gdd„de$ƒZ%Gdd „d ej&ƒZ'Gd!d"„d"ej(ƒZ)Gd#d$„d$ƒZ*Gd%d&„d&ej+ƒZ,e'Z-Gd'd(„d(ej.ƒZ/Gd)d*„d*ej.ƒZ0e0Z1dS)+z.Selector and proactor event loops for Windows.éNÚwin32z win32 onlyé)Úevents)Úbase_subprocess)Úfutures)Ú exceptions)Úproactor_events)Úselector_events)Útasks)Ú windows_utils)Úlogger)ÚSelectorEventLoopÚProactorEventLoopÚ IocpProactorÚDefaultEventLoopPolicyÚWindowsSelectorEventLoopPolicyÚWindowsProactorEventLoopPolicyìÿÿiÉiÔgü©ñÒMbP?gš™™™™™¹?cs`eZdZdZddœ‡fdd„ Z‡fdd„Zdd „Zd‡fd d „ Z‡fd d „Z‡fdd„Z ‡Z S)Ú_OverlappedFuturez†Subclass of Future which represents an overlapped operation. Cancelling it will immediately cancel the overlapped operation. N©Úloopcs&tƒj|d�|jr|jd=||_dS©Nréÿÿÿÿ)ÚsuperÚ__init__Ú_source_tracebackÚ_ov)ÚselfÚovr©Ú __class__©ú./usr/lib64/python3.9/asyncio/windows_events.pyr6sz_OverlappedFuture.__init__csHtƒ ¡}|jdurD|jjr dnd}| dd|›d|jjd›d�¡|S)NÚpendingZ completedrz overlapped=)rÚ _repr_inforr#ÚinsertÚaddress©rÚinfoÚstaterr!r"r&<s    z_OverlappedFuture._repr_infoc Cst|jdurdSz|j ¡WnLtyh}z4d||dœ}|jrH|j|d<|j |¡WYd}~n d}~00d|_dS)Nz&Cancelling an overlapped future failed©ÚmessageÚ exceptionÚfutureÚsource_traceback)rÚcancelÚOSErrorrÚ_loopÚcall_exception_handler)rÚexcÚcontextr!r!r"Ú_cancel_overlappedCs ý "z$_OverlappedFuture._cancel_overlappedcs| ¡tƒj|d�S©N)Úmsg)r7rr1©rr9rr!r"r1Ssz_OverlappedFuture.cancelcstƒ |¡| ¡dS©N)rÚ set_exceptionr7©rr.rr!r"r<Ws z_OverlappedFuture.set_exceptioncstƒ |¡d|_dSr;)rÚ set_resultr©rÚresultrr!r"r>[s z_OverlappedFuture.set_result)N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rr&r7r1r<r>Ú __classcell__r!r!rr"r0s  rcspeZdZdZddœ‡fdd„ Zdd„Z‡fdd „Zd d „Zd d „Zd‡fdd„ Z ‡fdd„Z ‡fdd„Z ‡Z S)Ú_BaseWaitHandleFuturez2Subclass of Future which represents a wait handle.Nrcs8tƒj|d�|jr|jd=||_||_||_d|_dS)NrrT)rrrrÚ_handleÚ _wait_handleÚ _registered)rrÚhandleÚ wait_handlerrr!r"rcsz_BaseWaitHandleFuture.__init__cCst |jd¡tjkS©Nr)Ú_winapiZWaitForSingleObjectrGZ WAIT_OBJECT_0©rr!r!r"Ú_pollqs ÿz_BaseWaitHandleFuture._pollcsdtƒ ¡}| d|jd›�¡|jdurB| ¡r4dnd}| |¡|jdur`| d|jd›�¡|S)Nzhandle=r$ÚsignaledZwaitingz wait_handle=)rr&ÚappendrGrOrHr)rr!r"r&vs    z _BaseWaitHandleFuture._repr_infocCs d|_dSr;)r©rÚfutr!r!r"Ú_unregister_wait_cb€sz)_BaseWaitHandleFuture._unregister_wait_cbc Cs |js dSd|_|j}d|_zt |¡Wnfty�}zN|jtjkr|d||dœ}|jrb|j|d<|j  |¡WYd}~dSWYd}~n d}~00|  d¡dS©NFz$Failed to unregister the wait handler,r0) rIrHÚ _overlappedZUnregisterWaitr2ÚwinerrorÚERROR_IO_PENDINGrr3r4rT©rrKr5r6r!r!r"Ú_unregister_wait…s$ ý  $z&_BaseWaitHandleFuture._unregister_waitcs| ¡tƒj|d�Sr8)rZrr1r:rr!r"r1�sz_BaseWaitHandleFuture.cancelcs| ¡tƒ |¡dSr;)rZrr<r=rr!r"r<¡sz#_BaseWaitHandleFuture.set_exceptioncs| ¡tƒ |¡dSr;)rZrr>r?rr!r"r>¥sz _BaseWaitHandleFuture.set_result)N) rArBrCrDrrOr&rTrZr1r<r>rEr!r!rr"rF`s  rFcsFeZdZdZddœ‡fdd„ Zdd„Z‡fdd „Z‡fd d „Z‡ZS) Ú_WaitCancelFuturezoSubclass of Future which represents a wait for the cancellation of a _WaitHandleFuture using an event. Nrcstƒj||||d�d|_dS)Nr)rrÚ_done_callback)rrÚeventrKrrr!r"r¯sz_WaitCancelFuture.__init__cCs tdƒ‚dS)Nz'_WaitCancelFuture must not be cancelled)Ú RuntimeErrorrNr!r!r"r1´sz_WaitCancelFuture.cancelcs$tƒ |¡|jdur | |¡dSr;)rr>r\r?rr!r"r>·s  z_WaitCancelFuture.set_resultcs$tƒ |¡|jdur | |¡dSr;)rr<r\r=rr!r"r<¼s  z_WaitCancelFuture.set_exception) rArBrCrDrr1r>r<rEr!r!rr"r[ªs  r[cs6eZdZddœ‡fdd„ Z‡fdd„Zdd„Z‡ZS) Ú_WaitHandleFutureNrcs<tƒj||||d�||_d|_t dddd¡|_d|_dS)NrTF)rrÚ _proactorZ_unregister_proactorrVZ CreateEventÚ_eventÚ _event_fut)rrrJrKÚproactorrrr!r"rÃs z_WaitHandleFuture.__init__csF|jdur"t |j¡d|_d|_|j |j¡d|_tƒ |¡dSr;) rarMÚ CloseHandlerbr`Ú _unregisterrrrTrRrr!r"rTÊs   z%_WaitHandleFuture._unregister_wait_cbc Cs®|js dSd|_|j}d|_zt ||j¡Wnfty”}zN|jtjkr€d||dœ}|jrf|j|d<|j   |¡WYd}~dSWYd}~n d}~00|j   |j|j ¡|_dSrU)rIrHrVZUnregisterWaitExrar2rWrXrr3r4r`Ú _wait_cancelrTrbrYr!r!r"rZÜs( ý  $ ÿz"_WaitHandleFuture._unregister_wait)rArBrCrrTrZrEr!r!rr"r_Âs r_c@s<eZdZdZdd„Zdd„Zdd„Zdd „Zd d „ZeZ d S) Ú PipeServerzXClass representing a pipe server. This is much like a bound, listening socket. cCs,||_t ¡|_d|_d|_| d¡|_dS©NT)Ú_addressÚweakrefÚWeakSetÚ_free_instancesÚ_pipeÚ_accept_pipe_futureÚ_server_pipe_handle)rr(r!r!r"rûs  zPipeServer.__init__cCs|j| d¡}|_|S)NF)rmro)rÚtmpr!r!r"Ú_get_unconnected_pipesz PipeServer._get_unconnected_pipec Csr| ¡r dStjtjB}|r&|tjO}t |j|tjtjBtj Btj t j t j tj tj¡}t  |¡}|j |¡|Sr;)ÚclosedrMZPIPE_ACCESS_DUPLEXZFILE_FLAG_OVERLAPPEDZFILE_FLAG_FIRST_PIPE_INSTANCEZCreateNamedPiperiZPIPE_TYPE_MESSAGEZPIPE_READMODE_MESSAGEZ PIPE_WAITZPIPE_UNLIMITED_INSTANCESr ÚBUFSIZEZNMPWAIT_WAIT_FOREVERÚNULLÚ PipeHandlerlÚadd)rÚfirstÚflagsÚhÚpiper!r!r"ro s"   ÿú  zPipeServer._server_pipe_handlecCs |jduSr;)rirNr!r!r"rrszPipeServer.closedcCsR|jdur|j ¡d|_|jdurN|jD] }| ¡q*d|_d|_|j ¡dSr;)rnr1rirlÚclosermÚclear)rrzr!r!r"r{"s     zPipeServer.closeN) rArBrCrDrrqrorrr{Ú__del__r!r!r!r"rgös  rgc@seZdZdZdS)Ú_WindowsSelectorEventLoopz'Windows version of selector event loop.N)rArBrCrDr!r!r!r"r~1sr~csHeZdZdZd ‡fdd„ Z‡fdd„Zdd„Zd d „Zdd d „Z‡Z S)rz2Windows version of proactor event loop using IOCP.Ncs|durtƒ}tƒ |¡dSr;)rrr)rrcrr!r"r8szProactorEventLoop.__init__c s¨zd|jdusJ‚| |j¡tƒ ¡W|jdur¤|jj}|j ¡|dur^|js^|j  |¡d|_n>|jdur¢|jj}|j ¡|durœ|jsœ|j  |¡d|_0dSr;) Z_self_reading_futureÚ call_soonZ_loop_self_readingrÚ run_foreverrr1r#r`re©rrrr!r"r€=s      õ   zProactorEventLoop.run_forevercÃs8|j |¡}|IdH}|ƒ}|j||d|id�}||fS)NÚaddr©Úextra)r`Ú connect_pipeÚ_make_duplex_pipe_transport)rÚprotocol_factoryr(ÚfrzÚprotocolÚtransr!r!r"Úcreate_pipe_connectionPs  ÿz(ProactorEventLoop.create_pipe_connectioncƒs.tˆƒ‰d‡‡‡‡‡fdd„ ‰ˆ ˆ¡ˆgS)Nc s d}zn|rN| ¡}ˆj |¡ˆ ¡r4| ¡WdSˆƒ}ˆj||dˆid�ˆ ¡}|durdWdSˆj |¡}Wn„t yØ}zN|r®|  ¡dkr®ˆ  d||dœ¡| ¡nˆj rÄt jd|dd�WYd}~n8d}~0tjyö|rò| ¡Yn0|ˆ_| ˆ¡dS) Nr‚rƒrzPipe accept failed)r-r.rzzAccept pipe failed on pipe %rT)Úexc_info)r@rlÚdiscardrrr{r†rqr`Ú accept_piper2Úfilenor4Z_debugr ÚwarningrÚCancelledErrorrnÚadd_done_callback)rˆrzr‰r5©r(Úloop_accept_piper‡rZserverr!r"r”[sB  ÿý ÿz>ProactorEventLoop.start_serving_pipe..loop_accept_pipe)N)rgr)rr‡r(r!r“r"Ústart_serving_pipeXs( z$ProactorEventLoop.start_serving_pipec Ës€| ¡} t||||||||f| |dœ| ¤Ž} z| IdHWn@ttfyR‚Yn*tyz|  ¡|  ¡IdH‚Yn0| S)N)Úwaiterr„)Ú create_futureÚ_WindowsSubprocessTransportÚ SystemExitÚKeyboardInterruptÚ BaseExceptionr{Ú_wait) rr‰ÚargsÚshellÚstdinÚstdoutÚstderrÚbufsizer„Úkwargsr–Ztranspr!r!r"Ú_make_subprocess_transport†s" ÿþý z,ProactorEventLoop._make_subprocess_transport)N)N) rArBrCrDrr€r‹r•r¤rEr!r!rr"r5s 0þrc@súeZdZdZd;dd„Zdd„Zdd„Zd d „Zddd„Z d?dd„Z d@dd„Z dAdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„ZdBd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„ZdCd3d4„Zd5d6„Zd7d8„Zd9d:„Zd S)Drz#Proactor implementation using IOCP.rcCsDd|_g|_t tjtd|¡|_i|_t  ¡|_ g|_ t  ¡|_ dSrL) r3Ú_resultsrVÚCreateIoCompletionPortÚINVALID_HANDLE_VALUErtÚ_iocpÚ_cacherjrkrIÚ _unregisteredÚ_stopped_serving)rZ concurrencyr!r!r"r�s ÿ zIocpProactor.__init__cCs|jdurtdƒ‚dS)NzIocpProactor is closed)r¨r^rNr!r!r"Ú _check_closed§s zIocpProactor._check_closedcCsFdt|jƒdt|jƒg}|jdur0| d¡d|jjd |¡fS)Nzoverlapped#=%sz result#=%srrz<%s %s>ú )Úlenr©r¥r¨rQr rAÚjoin)rr*r!r!r"Ú__repr__«s   ÿ  zIocpProactor.__repr__cCs ||_dSr;)r3)rrr!r!r"Úset_loop²szIocpProactor.set_loopNcCs |js| |¡|j}g|_|Sr;)r¥rO)rÚtimeoutrpr!r!r"Úselectµs  zIocpProactor.selectcCs|j ¡}| |¡|Sr;)r3r—r>)rÚvaluerSr!r!r"Ú_result¼s  zIocpProactor._resultrcCs|| |¡t t¡}z4t|tjƒr6| | ¡||¡n| | ¡|¡Wnt yd|  d¡YS0dd„}|  |||¡S)Nóc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;©Ú getresultr2rWrVZERROR_NETNAME_DELETEDZERROR_OPERATION_ABORTEDÚConnectionResetErrorr�©rŠÚkeyrr5r!r!r"Ú finish_recvÌs ÿ z&IocpProactor.recv..finish_recv) Ú_register_with_iocprVÚ OverlappedrtÚ isinstanceÚsocketZWSARecvr�ZReadFileÚBrokenPipeErrorrµÚ _register©rÚconnÚnbytesrxrr¼r!r!r"ÚrecvÁs     zIocpProactor.recvcCs|| |¡t t¡}z4t|tjƒr6| | ¡||¡n| | ¡|¡Wnt yd|  d¡YS0dd„}|  |||¡S)Nrc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;r·rºr!r!r"r¼ãs ÿ z+IocpProactor.recv_into..finish_recv) r½rVr¾rtr¿rÀZ WSARecvIntor�Z ReadFileIntorÁrµrÂ)rrÄÚbufrxrr¼r!r!r"Ú recv_intoØs     zIocpProactor.recv_intocCs^| |¡t t¡}z| | ¡||¡WntyF| d¡YS0dd„}| |||¡S)N)r¶Nc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;r·rºr!r!r"r¼÷s ÿ z*IocpProactor.recvfrom..finish_recv) r½rVr¾rtZ WSARecvFromr�rÁrµrÂrÃr!r!r"Úrecvfromïs    zIocpProactor.recvfromcCs>| |¡t t¡}| | ¡|||¡dd„}| |||¡S)Nc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;r·rºr!r!r"Ú finish_send s ÿ z(IocpProactor.sendto..finish_send)r½rVr¾rtZ WSASendTor�rÂ)rrÄrÇrxr‚rrÊr!r!r"Úsendtos    zIocpProactor.sendtocCsZ| |¡t t¡}t|tjƒr4| | ¡||¡n| | ¡|¡dd„}|  |||¡S)Nc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;r·rºr!r!r"rÊs ÿ z&IocpProactor.send..finish_send) r½rVr¾rtr¿rÀZWSASendr�Z WriteFilerÂ)rrÄrÇrxrrÊr!r!r"Úsends    zIocpProactor.sendcsv| ˆ¡| ˆj¡‰t t¡}| ˆ ¡ˆ ¡¡‡‡fdd„}dd„}| |ˆ|¡}||ˆƒ}t j ||j d�|S)NcsD| ¡t dˆ ¡¡}ˆ tjtj|¡ˆ  ˆ  ¡¡ˆˆ  ¡fS)Nz@P) r¸ÚstructÚpackr�Ú setsockoptrÀÚ SOL_SOCKETrVZSO_UPDATE_ACCEPT_CONTEXTÚ settimeoutÚ gettimeoutÚ getpeername)rŠr»rrÇ©rÄÚlistenerr!r"Ú finish_accept/sÿz*IocpProactor.accept..finish_acceptcÓs2z|IdHWntjy,| ¡‚Yn0dSr;)rr‘r{)r/rÄr!r!r"Ú accept_coro8s z(IocpProactor.accept..accept_coror) r½Ú_get_accept_socketÚfamilyrVr¾rtZAcceptExr�rÂr Z ensure_futurer3)rrÕrrÖr×r/Úcoror!rÔr"Úaccept)s     zIocpProactor.acceptc sΈjtjkr4t ˆ ¡|¡|j ¡}| d¡|S|  ˆ¡zt  ˆ ¡ˆj ¡WnDt y˜}z,|j tjkrr‚ˆ ¡ddkr„‚WYd}~n d}~00t t¡}| ˆ ¡|¡‡fdd„}| |ˆ|¡S)Nrrcs| ¡ˆ tjtjd¡ˆSrL)r¸rÏrÀrÐrVZSO_UPDATE_CONNECT_CONTEXT©rŠr»r©rÄr!r"Úfinish_connect[s ÿz,IocpProactor.connect..finish_connect)ÚtyperÀÚ SOCK_DGRAMrVZ WSAConnectr�r3r—r>r½Z BindLocalrÙr2rWÚerrnoZ WSAEINVALÚ getsocknamer¾rtZ ConnectExrÂ)rrÄr(rSÚerrÞr!rÝr"ÚconnectEs"       zIocpProactor.connectc Csb| |¡t t¡}|d@}|d?d@}| | ¡t | ¡¡|||dd¡dd„}| |||¡S)Nré rc SsTz | ¡WStyN}z,|jtjtjfvr8t|jŽ‚n‚WYd}~n d}~00dSr;r·rºr!r!r"Úfinish_sendfilens ÿ z.IocpProactor.sendfile..finish_sendfile) r½rVr¾rtZ TransmitFiler�ÚmsvcrtZ get_osfhandlerÂ) rÚsockÚfileÚoffsetÚcountrZ offset_lowZ offset_highrær!r!r"Úsendfileds     ý zIocpProactor.sendfilecsJ| ˆ¡t t¡}| ˆ ¡¡}|r0| ˆ¡S‡fdd„}| |ˆ|¡S)Ncs | ¡ˆSr;)r¸rÜ©rzr!r"Úfinish_accept_pipe„sz4IocpProactor.accept_pipe..finish_accept_pipe)r½rVr¾rtZConnectNamedPiper�rµrÂ)rrzrZ connectedrîr!rír"rŽys    zIocpProactor.accept_pipec Ãstt}zt |¡}WqjWn2tyH}z|jtjkr4‚WYd}~n d}~00t|dtƒ}t  |¡IdHqt   |¡S)Né) ÚCONNECT_PIPE_INIT_DELAYrVZ ConnectPiper2rWZERROR_PIPE_BUSYÚminÚCONNECT_PIPE_MAX_DELAYr Úsleepr ru)rr(ÚdelayrJr5r!r!r"r…Šs  zIocpProactor.connect_pipecCs| ||d¡S)z°Wait for a handle. Return a Future object. The result of the future is True if the wait completed, or False if the wait did not complete (on timeout). F)Ú_wait_for_handle)rrJr²r!r!r"Úwait_for_handle�szIocpProactor.wait_for_handlecCs| |dd¡}||_|Srh)rõr\)rr]Z done_callbackrSr!r!r"rf¥szIocpProactor._wait_cancelcs¢| ¡|durtj}nt |d¡}t t¡}t ||j |j |¡}|r\t ||||j d�‰nt |||||j d�‰ˆjr~ˆjd=‡fdd„}ˆ|d|f|j|j <ˆS)Nç@�@rrcsˆ ¡Sr;)rOrÜ©rˆr!r"Úfinish_wait_for_handleÂsz=IocpProactor._wait_for_handle..finish_wait_for_handler)r¬rMÚINFINITEÚmathÚceilrVr¾rtZRegisterWaitWithQueuer¨r(r[r3r_rr©)rrJr²Z _is_cancelÚmsrrKrùr!rør"rõ¬s$  ÿ ÿ zIocpProactor._wait_for_handlecCs0||jvr,|j |¡t | ¡|jdd¡dSrL)rIrvrVr¦r�r¨©rÚobjr!r!r"r½Îs  z IocpProactor._register_with_iocpc CsŒ| ¡t||jd�}|jr$|jd=|jstz|dd|ƒ}Wn.tyh}z| |¡WYd}~nd}~00| |¡||||f|j|j <|Sr) r¬rr3rr#r2r<r>r©r()rrrÿÚcallbackrˆr´rãr!r!r"rÂØs  zIocpProactor._registercCs| ¡|j |¡dS)a Unregister an overlapped object. Call this method when its future has been cancelled. The event can already be signalled (pending in the proactor event queue). It is also safe if the event is never signalled (because it was cancelled). N)r¬rªrQr�r!r!r"reøszIocpProactor._unregistercCst |¡}| d¡|SrL)rÀrÑ)rrÙÚsr!r!r"rØs  zIocpProactor._get_accept_socketc Cs†|durt}n0|dkr tdƒ‚nt |d¡}|tkr>tdƒ‚t |j|¡}|durX�qZd}|\}}}}z|j |¡\}} } } WnVt yÖ|j   ¡r¶|j   dd||||fdœ¡|dtj fvrÎt |¡Yq>Yn0| |jvrì| ¡q>| ¡s>z| ||| ƒ} Wn<t�y@} z"| | ¡|j |¡WYd} ~ q>d} ~ 00| | ¡|j |¡q>|jD]} |j | jd¡�q`|j ¡dS)Nrznegative timeoutr÷ztimeout too bigz8GetQueuedCompletionStatus() returned an unexpected eventz)err=%s transferred=%s key=%#x address=%#x)r-Ústatus)rúÚ ValueErrorrûrürVZGetQueuedCompletionStatusr¨r©ÚpopÚKeyErrorr3Z get_debugr4r§rMrdr«r1Údoner2r<r¥rQr>rªr(r|)rr²rýrÚerrZ transferredr»r(rˆrrÿrr´rãr!r!r"rOsL     ÿý      "  zIocpProactor._pollcCs|j |¡dSr;)r«rvrþr!r!r"Ú _stop_serving>szIocpProactor._stop_servingc Cs|jdurdSt|j ¡ƒD]Š\}\}}}}| ¡r6qt|tƒrBqz | ¡Wqty¤}z>|j dur�d||dœ}|j r„|j |d<|j   |¡WYd}~qd}~00qd}t   ¡} | |} |jrü| t   ¡krðt d|t   ¡| ¡t   ¡|} | |¡q¼g|_t |j¡d|_dS)NzCancelling a future failedr,r0gð?z,%r is running after closing for %.1f seconds)r¨Úlistr©ÚitemsÚ cancelledr¿r[r1r2r3rr4ÚtimeÚ monotonicr ÚdebugrOr¥rMrd) rr(rSrrÿrr5r6Z msg_updateZ start_timeZnext_msgr!r!r"r{Ds>    ý $  ÿ   zIocpProactor.closecCs | ¡dSr;)r{rNr!r!r"r}sszIocpProactor.__del__)r)N)r)r)r)rN)r)N)N)rArBrCrDrr¬r°r±r³rµrÆrÈrÉrËrÌrÛrärìrŽr…rörfrõr½rÂrerØrOrr{r}r!r!r!r"ršs8        "    7/rc@seZdZdd„ZdS)r˜c  sPtj|f|||||dœ|¤Žˆ_‡fdd„}ˆjj tˆjjƒ¡} |  |¡dS)N)ržrŸr r¡r¢csˆj ¡}ˆ |¡dSr;)Ú_procÚpollZ_process_exited)rˆÚ returncoderNr!r"r~s z4_WindowsSubprocessTransport._start..callback) r ÚPopenrr3r`röÚintrGr’) rr�ržrŸr r¡r¢r£rrˆr!rNr"Ú_startysÿþþ z"_WindowsSubprocessTransport._startN)rArBrCrr!r!r!r"r˜wsr˜c@seZdZeZdS)rN)rArBrCr Ú _loop_factoryr!r!r!r"r‰src@seZdZeZdS)rN)rArBrCrrr!r!r!r"r�sr)2rDÚsysÚplatformÚ ImportErrorrVrMrárûrçrÀrÍr rjÚrrrrrr r r Úlogr Ú__all__rtrúZERROR_CONNECTION_REFUSEDZERROR_CONNECTION_ABORTEDrðròÚFuturerrFr[r_ÚobjectrgZBaseSelectorEventLoopr~ZBaseProactorEventLooprrZBaseSubprocessTransportr˜r ZBaseDefaultEventLoopPolicyrrrr!r!r!r"ÚsX          0J4;e`