3 \R'ã@s�ddlmZddddddgZGdd„dƒZGd d„deƒZGd d„deƒZGd d„deeƒZGd d„deƒZGd d„deƒZGdd„deƒZ dS)é)ÚcompatÚ BaseTransportÚ ReadTransportÚWriteTransportÚ TransportÚDatagramTransportÚSubprocessTransportc@s@eZdZddd„Zddd„Zdd„Zdd „Zd d „Zd d „ZdS)rNcCs|dkr i}||_dS)N)Ú_extra)ÚselfÚextra©r ú*/usr/lib64/python3.6/asyncio/transports.pyÚ__init__ szBaseTransport.__init__cCs|jj||ƒS)N)r Úget)r ÚnameÚdefaultr r r Úget_extra_infoszBaseTransport.get_extra_infocCst‚dS)N)ÚNotImplementedError)r r r r Ú is_closingszBaseTransport.is_closingcCst‚dS)N)r)r r r r ÚcloseszBaseTransport.closecCst‚dS)N)r)r Úprotocolr r r Ú set_protocol$szBaseTransport.set_protocolcCst‚dS)N)r)r r r r Ú get_protocol(szBaseTransport.get_protocol)N)N) Ú__name__Ú __module__Ú __qualname__rrrrrrr r r r r s    c@seZdZdd„Zdd„ZdS)rcCst‚dS)N)r)r r r r Ú pause_reading0szReadTransport.pause_readingcCst‚dS)N)r)r r r r Úresume_reading8szReadTransport.resume_readingN)rrrrrr r r r r-sc@sFeZdZddd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dS)rNcCst‚dS)N)r)r ÚhighÚlowr r r Úset_write_buffer_limitsDsz&WriteTransport.set_write_buffer_limitscCst‚dS)N)r)r r r r Úget_write_buffer_sizeYsz$WriteTransport.get_write_buffer_sizecCst‚dS)N)r)r Údatar r r Úwrite]szWriteTransport.writecCstj|ƒ}|j|ƒdS)N)rZflatten_list_bytesr#)r Z list_of_datar"r r r Ú writelineses zWriteTransport.writelinescCst‚dS)N)r)r r r r Ú write_eofnszWriteTransport.write_eofcCst‚dS)N)r)r r r r Ú can_write_eofwszWriteTransport.can_write_eofcCst‚dS)N)r)r r r r Úabort{szWriteTransport.abort)NN) rrrr r!r#r$r%r&r'r r r r rAs   c@s eZdZdS)rN)rrrr r r r r…sc@seZdZddd„Zdd„ZdS)rNcCst‚dS)N)r)r r"Zaddrr r r ÚsendtožszDatagramTransport.sendtocCst‚dS)N)r)r r r r r'¨szDatagramTransport.abort)N)rrrr(r'r r r r r›s c@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)rcCst‚dS)N)r)r r r r Úget_pid´szSubprocessTransport.get_pidcCst‚dS)N)r)r r r r Úget_returncode¸sz"SubprocessTransport.get_returncodecCst‚dS)N)r)r Úfdr r r Úget_pipe_transportÀsz&SubprocessTransport.get_pipe_transportcCst‚dS)N)r)r Úsignalr r r Ú send_signalÄszSubprocessTransport.send_signalcCst‚dS)N)r)r r r r Ú terminateÌs zSubprocessTransport.terminatecCst‚dS)N)r)r r r r ÚkillÚs zSubprocessTransport.killN) rrrr)r*r,r.r/r0r r r r r²s csReZdZd‡fdd„ Zdd„Zdd„Zdd „Zdd d „Zdd d „Zdd„Z ‡Z S)Ú_FlowControlMixinNcs$tƒj|ƒ||_d|_|jƒdS)NF)ÚsuperrÚ_loopÚ_protocol_pausedÚ_set_write_buffer_limits)r r Zloop)Ú __class__r r r÷s z_FlowControlMixin.__init__cCsp|jƒ}||jkrdS|jsld|_y|jjƒWn:tk rj}z|jjd|||jdœƒWYdd}~XnXdS)NTzprotocol.pause_writing() failed)ÚmessageÚ exceptionÚ transportr)r!Ú _high_waterr4Ú _protocolZ pause_writingÚ Exceptionr3Úcall_exception_handler)r ÚsizeÚexcr r r Ú_maybe_pause_protocolþs z'_FlowControlMixin._maybe_pause_protocolcCsh|jrd|jƒ|jkrdd|_y|jjƒWn:tk rb}z|jjd|||jdœƒWYdd}~XnXdS)NFz protocol.resume_writing() failed)r7r8r9r)r4r!Ú _low_waterr;Zresume_writingr<r3r=)r r?r r r Ú_maybe_resume_protocolsz(_FlowControlMixin._maybe_resume_protocolcCs |j|jfS)N)rAr:)r r r r Úget_write_buffer_limitssz)_FlowControlMixin.get_write_buffer_limitscCsf|dkr|dkrd}nd|}|dkr.|d}||ko@dknsVtd||fƒ‚||_||_dS)Né@iérz*high (%r) must be >= low (%r) must be >= 0i)Ú ValueErrorr:rA)r rrr r r r5s z*_FlowControlMixin._set_write_buffer_limitscCs|j||d�|jƒdS)N)rr)r5r@)r rrr r r r -sz)_FlowControlMixin.set_write_buffer_limitscCst‚dS)N)r)r r r r r!1sz'_FlowControlMixin.get_write_buffer_size)NN)NN)NN) rrrrr@rBrCr5r r!Ú __classcell__r r )r6r r1æs  r1N) ZasynciorÚ__all__rrrrrrr1r r r r Ús  #D4