/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__/proactor_events.cpython-39.pyc (24416B)
a ´i’}ã@sXdZdZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl m Z ddl m Z dd l mZdd l mZdd l mZdd l mZdd lmZdd„ZGdd„dejejƒZGdd„deejƒZGdd„deejƒZGdd„deƒZGdd„deejƒZGdd„deeejƒZ Gdd„deeejƒZ!Gdd„de j"ƒZ#dS) z¦Event loop using a proactor and related classes. A proactor is a "notify-on-completion" multiplexer. Currently a proactor is only implemented on Windows with IOCP. )ÚBaseProactorEventLoopéNé)Ú base_events)Ú constants)Úfutures)Ú exceptions)Ú protocols)Ússlproto)Ú transports)Útrsock)ÚloggercCs’t |¡|jd<z| ¡|jd<Wn.tjyP|j ¡rLtj d|dd�Yn0d|jvrŽz|  ¡|jd<WntjyŒd|jd<Yn0dS)NÚsocketZsocknamezgetsockname() failed on %rT©Úexc_infoÚpeername) r ÚTransportSocketÚ_extraÚ getsocknamer ÚerrorÚ_loopÚ get_debugr ÚwarningÚ getpeername)Ú transportÚsock©rú//usr/lib64/python3.9/asyncio/proactor_events.pyÚ_set_socket_extras ÿ  rcs‚eZdZdZd‡fdd„ Zdd„Zdd„Zd d „Zd d „Zd d„Z dd„Z e j fdd„Z ddd„Zdd„Zdd„Zdd„Z‡ZS)Ú_ProactorBasePipeTransportz*Base class for pipe and socket transports.Ncsœtƒ ||¡| |¡||_| |¡||_d|_d|_d|_d|_ d|_ d|_ d|_ |jdurl|j  ¡|j |jj|¡|dur˜|j tj|d¡dS)NrF)ÚsuperÚ__init__Ú _set_extraÚ_sockÚ set_protocolÚ_serverÚ_bufferÚ _read_futÚ _write_futÚ_pending_writeÚ _conn_lostÚ_closingÚ _eof_writtenZ_attachrÚ call_soonÚ _protocolZconnection_maderZ_set_result_unless_cancelled©ÚselfÚlooprÚprotocolÚwaiterÚextraÚserver©Ú __class__rrr 2s&     ÿz#_ProactorBasePipeTransport.__init__cCsÄ|jjg}|jdur | d¡n|jr0| d¡|jdurP| d|j ¡›�¡|jdurl| d|j›�¡|jdurˆ| d|j›�¡|jr¤| dt |jƒ›�¡|j r´| d¡d  d   |¡¡S) NÚclosedÚclosingzfd=zread=zwrite=zwrite_bufsize=z EOF writtenz<{}>ú ) r6Ú__name__r"Úappendr*Úfilenor&r'r%Úlenr+ÚformatÚjoin)r/ÚinforrrÚ__repr__Hs         z#_ProactorBasePipeTransport.__repr__cCs||jd<dS)NÚpipe)r©r/rrrrr!Zsz%_ProactorBasePipeTransport._set_extracCs ||_dS©N©r-)r/r1rrrr#]sz'_ProactorBasePipeTransport.set_protocolcCs|jSrDrE©r/rrrÚ get_protocol`sz'_ProactorBasePipeTransport.get_protocolcCs|jSrD)r*rFrrrÚ is_closingcsz%_ProactorBasePipeTransport.is_closingcCs\|jr dSd|_|jd7_|js>|jdur>|j |jd¡|jdurX|j ¡d|_dS)NTr) r*r)r%r'rr,Ú_call_connection_lostr&ÚcancelrFrrrÚclosefs  z _ProactorBasePipeTransport.closecCs*|jdur&|d|›�t|d�| ¡dS)Nzunclosed transport )Úsource)r"ÚResourceWarningrK)r/Ú_warnrrrÚ__del__qs z"_ProactorBasePipeTransport.__del__úFatal error on pipe transportc Cs`zNt|tƒr*|j ¡rBtjd||dd�n|j ||||jdœ¡W| |¡n | |¡0dS)Nz%r: %sTr)ÚmessageÚ exceptionrr1) Ú isinstanceÚOSErrorrrr ÚdebugÚcall_exception_handlerr-Ú _force_close)r/ÚexcrQrrrÚ _fatal_errorvs  ü z'_ProactorBasePipeTransport._fatal_errorcCs |jdur6|j ¡s6|dur*|j d¡n |j |¡|jr@dSd|_|jd7_|jrj|j ¡d|_|jr€|j ¡d|_d|_ d|_ |j   |j |¡dS)NTrr)Ú _empty_waiterÚdoneÚ set_resultÚ set_exceptionr*r)r'rJr&r(r%rr,rI)r/rXrrrrW…s"   z'_ProactorBasePipeTransport._force_closec CsÀzd|j |¡Wt|jdƒr8|j ¡dkr8|j tj¡|j ¡d|_|j }|dur¼|  ¡d|_ nVt|jdƒrŽ|j ¡dkrŽ|j tj¡|j ¡d|_|j }|durº|  ¡d|_ 0dS)NÚshutdownéÿÿÿÿ) r-Zconnection_lostÚhasattrr"r<r^r Ú SHUT_RDWRrKr$Z_detach)r/rXr4rrrrI™s$ ù z0_ProactorBasePipeTransport._call_connection_lostcCs"|j}|jdur|t|jƒ7}|SrD)r(r%r=)r/ÚsizerrrÚget_write_buffer_sizeªs z0_ProactorBasePipeTransport.get_write_buffer_size)NNN)rP)r:Ú __module__Ú __qualname__Ú__doc__r rAr!r#rGrHrKÚwarningsÚwarnrOrYrWrIrcÚ __classcell__rrr5rr.sÿ  rcsTeZdZdZd‡fdd„ Zdd„Zdd„Zd d „Zd d „Zd d„Z ddd„Z ‡Z S)Ú_ProactorReadPipeTransportzTransport for read pipes.Ncs:d|_d|_tƒ ||||||¡|j |j¡d|_dS)NTF)Ú _pending_dataÚ_pausedrr rr,Ú _loop_readingr.r5rrr µs z#_ProactorReadPipeTransport.__init__cCs|j o|j SrD)rlr*rFrrrÚ is_reading¾sz%_ProactorReadPipeTransport.is_readingcCs0|js |jrdSd|_|j ¡r,t d|¡dS)NTz%r pauses reading)r*rlrrr rUrFrrrÚ pause_readingÁs   z(_ProactorReadPipeTransport.pause_readingcCsn|js |jsdSd|_|jdur0|j |jd¡|j}d|_|durT|j |j|¡|j ¡rjt   d|¡dS)NFz%r resumes reading) r*rlr&rr,rmrkÚ_data_receivedrr rU©r/ÚdatarrrÚresume_readingÔs   z)_ProactorReadPipeTransport.resume_readingc Cs~|j ¡rt d|¡z|j ¡}WnHttfy<‚Yn2tyl}z|  |d¡WYd}~dSd}~00|sz|  ¡dS)Nz%r received EOFz1Fatal error: protocol.eof_received() call failed.) rrr rUr-Z eof_receivedÚ SystemExitÚKeyboardInterruptÚ BaseExceptionrYrK)r/Z keep_openrXrrrÚ _eof_receivedæs  ÿz(_ProactorReadPipeTransport._eof_receivedc Csª|jr|jdusJ‚||_dS|s.| ¡dSt|jtjƒršzt |j|¡Wq¦tt fyf‚Yq¦t y–}z|  |d¡WYd}~dSd}~00n |j  |¡dS)Nz3Fatal error: protocol.buffer_updated() call failed.) rlrkrwrSr-rZBufferedProtocolZ_feed_data_to_buffered_protortrurvrYZ data_received)r/rrrXrrrrpös$ÿz)_ProactorReadPipeTransport._data_receivedc CsÊd}�z¨zª|durP|j|us0|jdur,|js0J‚d|_| ¡rH| ¡}n| ¡|jrtd}WW|durp| |¡dS|dkr–WW|dur’| |¡dS|js°|jj  |j d¡|_WnÎt �y}z8|jsØ|  |d¡n|j  ¡rðtjddd�WYd}~nœd}~0t�y2}z| |¡WYd}~nnd}~0t�yb}z|  |d¡WYd}~n>d}~0tj�y€|j�s|‚Yn0|j�s˜|j |j¡W|du�rÆ| |¡n|du�rÄ| |¡0dS)Nói€z"Fatal read error on pipe transportz*Read error on pipe transport while closingTr)r&r*r[ÚresultrJrprlrÚ _proactorÚrecvr"ÚConnectionAbortedErrorrYrr rUÚConnectionResetErrorrWrTrÚCancelledErrorÚadd_done_callbackrm)r/ÚfutrrrXrrrrmsVÿ  â æ ÿ   ÿ z(_ProactorReadPipeTransport._loop_reading)NNN)N) r:rdrerfr rnrorsrwrprmrirrr5rrj±sÿ rjcs^eZdZdZdZ‡fdd„Zdd„Zddd „Zd d „Zd d „Z dd„Z dd„Z dd„Z ‡Z S)Ú_ProactorBaseWritePipeTransportzTransport for write pipes.Tcstƒj|i|¤Žd|_dSrD)rr rZ©r/ÚargsÚkwr5rrr Gsz(_ProactorBaseWritePipeTransport.__init__cCsÖt|tttfƒs$tdt|ƒj›�ƒ‚|jr2tdƒ‚|j durDtdƒ‚|sLdS|j rz|j t j krht  d¡|j d7_ dS|jdur¤|jdus’J‚|jt|ƒd�n.|js¾t|ƒ|_| ¡n|j |¡| ¡dS)Nz/data argument must be a bytes-like object, not zwrite_eof() already calledz(unable to write; sendfile is in progresszsocket.send() raised exception.r)rr)rSÚbytesÚ bytearrayÚ memoryviewÚ TypeErrorÚtyper:r+Ú RuntimeErrorrZr)rÚ!LOG_THRESHOLD_FOR_CONNLOST_WRITESr rr'r%Ú _loop_writingÚ_maybe_pause_protocolÚextendrqrrrÚwriteKs2ÿÿ       z%_ProactorBaseWritePipeTransport.writeNc Cs|�z|dur"|jdur"|jr"WdS||jus0J‚d|_d|_|rH| ¡|dur\|j}d|_|s”|jrv|j |jd¡|jrŠ|j   t j ¡|  ¡n\|jj |j |¡|_|j ¡sâ|jdksÀJ‚t|ƒ|_|j |j¡| ¡n|j |j¡|jdu�r|jdu�r|j d¡Wn`t�yF}z| |¡WYd}~n:d}~0t�yv}z| |d¡WYd}~n d}~00dS)Nrz#Fatal write error on pipe transport)r'r*r(ryr%rr,rIr+r"r^r ÚSHUT_WRÚ_maybe_resume_protocolrzÚsendr[r=rrŒr�rZr\r}rWrTrY)r/ÚfrrrXrrrrŒqs<    z-_ProactorBaseWritePipeTransport._loop_writingcCsdS©NTrrFrrrÚ can_write_eofšsz-_ProactorBaseWritePipeTransport.can_write_eofcCs | ¡dSrD)rKrFrrrÚ write_eof�sz)_ProactorBaseWritePipeTransport.write_eofcCs| d¡dSrD©rWrFrrrÚabort sz%_ProactorBaseWritePipeTransport.abortcCs:|jdurtdƒ‚|j ¡|_|jdur4|j d¡|jS)NzEmpty waiter is already set)rZrŠrZ create_futurer'r\rFrrrÚ_make_empty_waiter£s     z2_ProactorBaseWritePipeTransport._make_empty_waitercCs d|_dSrD)rZrFrrrÚ_reset_empty_waiter«sz3_ProactorBaseWritePipeTransport._reset_empty_waiter)NN)r:rdrerfZ_start_tls_compatibler r�rŒr•r–r˜r™ršrirrr5rr�As & )r�cs$eZdZ‡fdd„Zdd„Z‡ZS)Ú_ProactorWritePipeTransportcs8tƒj|i|¤Ž|jj |jd¡|_|j |j¡dS)Né) rr rrzr{r"r&rÚ _pipe_closedr‚r5rrr °sz$_ProactorWritePipeTransport.__init__cCsv| ¡r dS| ¡dksJ‚|jr4|jdus0J‚dS||jusLJ||jfƒ‚d|_|jdurj| tƒ¡n| ¡dS)Nrx)Ú cancelledryr*r&r'rWÚBrokenPipeErrorrK)r/r€rrrr�µs z(_ProactorWritePipeTransport._pipe_closed)r:rdrer r�rirrr5rr›¯s r›csXeZdZdZd‡fdd„ Zdd„Zdd„Zd d „Zdd d „Zdd d„Z ddd„Z ‡Z S)Ú_ProactorDatagramTransportiNcs>||_d|_tƒj|||||d�t ¡|_|j |j ¡dS)N)r2r3) Ú_addressrZrr Ú collectionsÚdequer%rr,rm)r/r0rr1Úaddressr2r3r5rrr Ès  z#_ProactorDatagramTransport.__init__cCst||ƒdSrD©rrCrrrr!Ôsz%_ProactorDatagramTransport._set_extracCstdd„|jDƒƒS)Ncss|]\}}t|ƒVqdSrD)r=)Ú.0rrÚ_rrrÚ ØrxzC_ProactorDatagramTransport.get_write_buffer_size..)Úsumr%rFrrrrc×sz0_ProactorDatagramTransport.get_write_buffer_sizecCs| d¡dSrDr—rFrrrr˜Úsz _ProactorDatagramTransport.abortcCs´t|tttfƒstdt|ƒƒ‚|s&dS|jdurN|d|jfvrNtd|j›�ƒ‚|jr‚|jr‚|jt j krpt   d¡|jd7_dS|j  t|ƒ|f¡|jdur¨| ¡| ¡dS)Nz,data argument must be bytes-like object (%r)z!Invalid address: must be None or z!socket.sendto() raised exception.r)rSr…r†r‡rˆr‰r¡Ú ValueErrorr)rr‹r rr%r;r'rŒr�)r/rrÚaddrrrrÚsendtoÝs&ÿ ÿ    z!_ProactorDatagramTransport.sendtoc Cs z¤|jrWdS||jusJ‚d|_|r.| ¡|jr@|jr\|jr\|jrV|j |jd¡WdS|j  ¡\}}|jdurŠ|jj   |j |¡|_n|jj j |j ||d�|_Wn`tyÔ}z|j |¡WYd}~nPd}~0t�y}z| |d¡WYd}~n d}~00|j |j¡| ¡dS)N)r«z'Fatal write error on datagram transport)r)r'ryr%r¡r*rr,rIÚpopleftrzr’r"r¬rTr-Úerror_receivedÚ ExceptionrYrrŒr‘)r/r€rrr«rXrrrrŒùs4  ÿ þ  "z(_ProactorDatagramTransport._loop_writingc Csšd}�zxzô|jr*WW|r&|j ||¡dS|j|usH|jdurD|jsHJ‚d|_|dur¢| ¡}|jr‚d}WW|r~|j ||¡dS|jdurš||j}}n|\}}|jrÂWW|r¾|j ||¡dS|jdurä|jj  |j |j ¡|_n|jj  |j |j ¡|_WnPt �y.}z|j |¡WYd}~nBd}~0tj�yL|j�sH‚Yn0|jdu�rh|j |j¡W|�r–|j ||¡n|�r”|j ||¡0dSrD)r)r-Zdatagram_receivedr&r*ryr¡rrzr{r"Úmax_sizeÚrecvfromrTr®rr~rrm)r/r€rrr«ÚresrXrrrrmsZ$Ûÿç ï  ÿ ÿ   ÿz(_ProactorDatagramTransport._loop_reading)NNN)N)N)N) r:rdrer°r r!rcr˜r¬rŒrmrirrr5rr Åsÿ   !r c@s eZdZdZdd„Zdd„ZdS)Ú_ProactorDuplexPipeTransportzTransport for duplex pipes.cCsdS)NFrrFrrrr•Ksz*_ProactorDuplexPipeTransport.can_write_eofcCst‚dSrD)ÚNotImplementedErrorrFrrrr–Nsz&_ProactorDuplexPipeTransport.write_eofN)r:rdrerfr•r–rrrrr³Fsr³csBeZdZdZejjZd ‡fdd„ Zdd„Z dd„Z d d „Z ‡Z S) Ú_ProactorSocketTransportz Transport for connected sockets.Ncs$tƒ ||||||¡t |¡dSrD)rr rZ _set_nodelayr.r5rrr Ysz!_ProactorSocketTransport.__init__cCst||ƒdSrDr¥rCrrrr!^sz#_ProactorSocketTransport._set_extracCsdSr”rrFrrrr•asz&_ProactorSocketTransport.can_write_eofcCs2|js |jrdSd|_|jdur.|j tj¡dSr”)r*r+r'r"r^r r�rFrrrr–ds   z"_ProactorSocketTransport.write_eof)NNN) r:rdrerfrZ _SendfileModeZ TRY_NATIVEZ_sendfile_compatibler r!r•r–rirrr5rrµRsÿrµcsîeZdZ‡fdd„Zd3dd„Zd4ddddddœdd „Zd5d d „Zd6d d „Zd7dd„Zd8dd„Z ‡fdd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zd d!„Zd"d#„Zd$d%„Zd9d&d'„Zd(d)„Zd:d+d,„Zd-d.„Zd/d0„Zd1d2„Z‡ZS);rcshtƒ ¡t d|jj¡||_||_d|_i|_ |  |¡|  ¡t   ¡t  ¡urdt |j ¡¡dS)NzUsing proactor: %s)rr r rUr6r:rzÚ _selectorÚ_self_reading_futureÚ_accept_futuresZset_loopÚ_make_self_pipeÚ threadingÚcurrent_threadÚ main_threadÚsignalÚ set_wakeup_fdÚ_csockr<)r/Zproactorr5rrr ns  zBaseProactorEventLoop.__init__NcCst||||||ƒSrD)rµ)r/rr1r2r3r4rrrÚ_make_socket_transport{s ÿz,BaseProactorEventLoop._make_socket_transportF)Ú server_sideÚserver_hostnamer3r4Ússl_handshake_timeoutc Cs0tj||||||| d�} t||| ||d�| jS)N)rér3r4)r Z SSLProtocolrµZ_app_transport) r/Zrawsockr1Ú sslcontextr2rÁrÂr3r4rÃZ ssl_protocolrrrÚ_make_ssl_transport€sýÿz)BaseProactorEventLoop._make_ssl_transportcCst||||||ƒSrD)r )r/rr1r¤r2r3rrrÚ_make_datagram_transport�s ÿz.BaseProactorEventLoop._make_datagram_transportcCst|||||ƒSrD)r³©r/rr1r2r3rrrÚ_make_duplex_pipe_transport’sÿz1BaseProactorEventLoop._make_duplex_pipe_transportcCst|||||ƒSrD)rjrÈrrrÚ_make_read_pipe_transport—sz/BaseProactorEventLoop._make_read_pipe_transportcCst|||||ƒSrD)r›rÈrrrÚ_make_write_pipe_transport›sÿz0BaseProactorEventLoop._make_write_pipe_transportcsj| ¡rtdƒ‚| ¡rdSt ¡t ¡ur6t d¡| ¡|  ¡|j   ¡d|_ d|_ t ƒ  ¡dS)Nz!Cannot close a running event loopr_)Z is_runningrŠÚ is_closedrºr»r¼r½r¾Ú_stop_accept_futuresÚ_close_self_piperzrKr¶rrFr5rrrK¡s  zBaseProactorEventLoop.closecÃs|j ||¡IdHSrD)rzr{)r/rÚnrrrÚ sock_recvµszBaseProactorEventLoop.sock_recvcÃs|j ||¡IdHSrD)rzÚ recv_into)r/rÚbufrrrÚsock_recv_into¸sz$BaseProactorEventLoop.sock_recv_intocÃs|j ||¡IdHSrD)rzr’)r/rrrrrrÚ sock_sendall»sz"BaseProactorEventLoop.sock_sendallcÃs|j ||¡IdHSrD)rzÚconnect)r/rr¤rrrÚ sock_connect¾sz"BaseProactorEventLoop.sock_connectcÃs|j |¡IdHSrD)rzÚacceptrCrrrÚ sock_acceptÁsz!BaseProactorEventLoop.sock_acceptc Ãs>z | ¡}Wn4ttjfy@}zt d¡‚WYd}~n d}~00zt |¡j}Wnt ynt d¡‚Yn0|rx|n|}|s„dSt |dƒ}|r t |||ƒn|} t ||ƒ}d} zpt | ||ƒ}|dkrâ| W| dkrà|  |¡S|j   ||||¡IdH||7}| |7} q´W| dk�r:|  |¡n| dk�r8|  |¡0dS)Nznot a regular filerlÿÿ)r<ÚAttributeErrorÚioÚUnsupportedOperationrZSendfileNotAvailableErrorÚosÚfstatÚst_sizerTÚminÚseekrzÚsendfile) r/rÚfileÚoffsetÚcountr<ÚerrÚfsizeÚ blocksizeZend_posÚ total_sentrrrÚ_sock_sendfile_nativeÄs:       ú   ÿ z+BaseProactorEventLoop._sock_sendfile_nativecÃsn| ¡}| ¡| ¡IdHz4|j|j|||dd�IdHW| ¡|rP| ¡Sn| ¡|rh| ¡0dS)NF)Úfallback)rnror™Z sock_sendfiler"ršrs)r/ZtransprârãrärsrrrÚ_sendfile_nativeás"ÿ ûþz&BaseProactorEventLoop._sendfile_nativecCsL|jdur|j ¡d|_|j ¡d|_|j ¡d|_|jd8_dS)Nr)r·rJÚ_ssockrKr¿Ú _internal_fdsrFrrrrÎís    z&BaseProactorEventLoop._close_self_pipecCs:t ¡\|_|_|j d¡|j d¡|jd7_dS)NFr)r Ú socketpairrìr¿Ú setblockingrírFrrrr¹÷s  z%BaseProactorEventLoop._make_self_pipec Cs¬z4|dur| ¡|j|ur"WdS|j |jd¡}Wn`tjyJYdSttfy`‚YnHt y”}z|  d||dœ¡WYd}~nd}~00||_|  |j ¡dS)Niz.Error on reading from the event loop self pipe)rQrRr0) ryr·rzr{rìrr~rtrurvrVrÚ_loop_self_reading)r/r“rXrrrrðþs$ ýz(BaseProactorEventLoop._loop_self_readingcCsL|j}|durdSz| d¡Wn&tyF|jrBtjddd�Yn0dS)Nóz3Fail to write a null byte into the self-pipe socketTr)r¿r’rTÚ_debugr rU)r/ÚcsockrrrÚ_write_to_selfs þz$BaseProactorEventLoop._write_to_selfédcs(d‡‡‡‡‡‡‡fdd„ ‰ˆ ˆ¡dS)Nc s,zŠ|durn| ¡\}}ˆjr,t dˆ||¡ˆƒ}ˆdurXˆj||ˆdd|iˆˆd�nˆj||d|iˆd�ˆ ¡r|WdSˆj ˆ¡}Wn„t yò}zPˆ  ¡dkrȈ  d|t   ˆ¡dœ¡ˆ ¡nˆjrÞtjd ˆdd �WYd}~n>d}~0tj�yˆ ¡Yn0|ˆjˆ  ¡<| ˆ¡dS) Nz#%r got a new connection from %r: %rTr)rÁr3r4rÃrÄr_zAccept failed on a socket)rQrRr zAccept failed on socket %rr)ryròr rUrÆrÀrÌrzr×rTr<rVr rrKrr~r¸r)r“Úconnr«r1rX©r0Úprotocol_factoryr/r4rrÃrÅrrr00sJ ÿýþ ý ÿz2BaseProactorEventLoop._start_serving..loop)N)r,)r/rørrÅr4ÚbacklogrÃrr÷rÚ_start_serving,s%z$BaseProactorEventLoop._start_servingcCsdSrDr)r/Z event_listrrrÚ_process_eventsWsz%BaseProactorEventLoop._process_eventscCs&|j ¡D] }| ¡q |j ¡dSrD)r¸ÚvaluesrJÚclear)r/ÚfuturerrrrÍ[s z*BaseProactorEventLoop._stop_accept_futurescCs6|j | ¡d¡}|r| ¡|j |¡| ¡dSrD)r¸Úpopr<rJrzÚ _stop_servingrK)r/rrþrrrr`s  z#BaseProactorEventLoop._stop_serving)NNN)N)NNN)NN)NN)NN)N)NNrõN)r:rdrer rÀrÆrÇrÉrÊrËrKrÐrÓrÔrÖrØrérërÎr¹rðrôrúrûrÍrrirrr5rrlsN ÿ ÿü ÿ ÿ ÿ ÿ     þ +r)$rfÚ__all__rÚrÜr rgr½rºr¢Úrrrrrr r r Úlogr rZ_FlowControlMixinZ BaseTransportrZ ReadTransportrjZWriteTransportr�r›ZDatagramTransportr Z Transportr³rµZ BaseEventLooprrrrrÚsV         ÿ ÿ ÿn ÿ þ þ