
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3

  \R'  ã               @   s�   d dl mZ ddddddgZG dd„ dƒZG d	d„ deƒZG d
d„ deƒZG dd„ deeƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZ	dS )é    )ÚcompatÚBaseTransportÚReadTransportÚWriteTransportÚ	TransportÚDatagramTransportÚSubprocessTransportc               @   s@   e Zd Zddd„Zddd„Zdd„ Zdd	„ Zd
d„ Zdd„ ZdS )r   Nc             C   s   |d kri }|| _ d S )N)Ú_extra)ÚselfÚextra© r   ú*/usr/lib64/python3.6/asyncio/transports.pyÚ__init__   s    zBaseTransport.__init__c             C   s   | j j||ƒS )N)r	   Úget)r
   ÚnameÚdefaultr   r   r   Úget_extra_info   s    zBaseTransport.get_extra_infoc             C   s   t ‚d S )N)ÚNotImplementedError)r
   r   r   r   Ú
is_closing   s    zBaseTransport.is_closingc             C   s   t ‚d S )N)r   )r
   r   r   r   Úclose   s    zBaseTransport.closec             C   s   t ‚d S )N)r   )r
   Úprotocolr   r   r   Úset_protocol$   s    zBaseTransport.set_protocolc             C   s   t ‚d S )N)r   )r
   r   r   r   Úget_protocol(   s    zBaseTransport.get_protocol)N)N)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r   r   
   s   


c               @   s   e Zd Zdd„ Zdd„ ZdS )r   c             C   s   t ‚d S )N)r   )r
   r   r   r   Úpause_reading0   s    zReadTransport.pause_readingc             C   s   t ‚d S )N)r   )r
   r   r   r   Úresume_reading8   s    zReadTransport.resume_readingN)r   r   r   r   r   r   r   r   r   r   -   s   c               @   sF   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )r   Nc             C   s   t ‚d S )N)r   )r
   ÚhighÚlowr   r   r   Úset_write_buffer_limitsD   s    z&WriteTransport.set_write_buffer_limitsc             C   s   t ‚d S )N)r   )r
   r   r   r   Úget_write_buffer_sizeY   s    z$WriteTransport.get_write_buffer_sizec             C   s   t ‚d S )N)r   )r
   Údatar   r   r   Úwrite]   s    zWriteTransport.writec             C   s   t j|ƒ}| j|ƒ d S )N)r   Zflatten_list_bytesr#   )r
   Zlist_of_datar"   r   r   r   Ú
writelinese   s    
zWriteTransport.writelinesc             C   s   t ‚d S )N)r   )r
   r   r   r   Ú	write_eofn   s    zWriteTransport.write_eofc             C   s   t ‚d S )N)r   )r
   r   r   r   Úcan_write_eofw   s    zWriteTransport.can_write_eofc             C   s   t ‚d S )N)r   )r
   r   r   r   Úabort{   s    zWriteTransport.abort)NN)
r   r   r   r    r!   r#   r$   r%   r&   r'   r   r   r   r   r   A   s   
		c               @   s   e Zd ZdS )r   N)r   r   r   r   r   r   r   r   …   s   c               @   s   e Zd Zddd„Zdd„ ZdS )r   Nc             C   s   t ‚d S )N)r   )r
   r"   Zaddrr   r   r   Úsendtož   s    zDatagramTransport.sendtoc             C   s   t ‚d S )N)r   )r
   r   r   r   r'   ¨   s    zDatagramTransport.abort)N)r   r   r   r(   r'   r   r   r   r   r   ›   s   

c               @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )r   c             C   s   t ‚d S )N)r   )r
   r   r   r   Úget_pid´   s    zSubprocessTransport.get_pidc             C   s   t ‚d S )N)r   )r
   r   r   r   Úget_returncode¸   s    z"SubprocessTransport.get_returncodec             C   s   t ‚d S )N)r   )r
   Úfdr   r   r   Úget_pipe_transportÀ   s    z&SubprocessTransport.get_pipe_transportc             C   s   t ‚d S )N)r   )r
   Úsignalr   r   r   Úsend_signalÄ   s    zSubprocessTransport.send_signalc             C   s   t ‚d S )N)r   )r
   r   r   r   Ú	terminateÌ   s    zSubprocessTransport.terminatec             C   s   t ‚d S )N)r   )r
   r   r   r   ÚkillÚ   s    	zSubprocessTransport.killN)	r   r   r   r)   r*   r,   r.   r/   r0   r   r   r   r   r   ²   s   c                   sR   e Zd Zd‡ fdd„	Zdd„ Zdd„ Zdd	„ Zdd
d„Zddd„Zdd„ Z	‡  Z
S )Ú_FlowControlMixinNc                s$   t ƒ j|ƒ || _d| _| jƒ  d S )NF)Úsuperr   Ú_loopÚ_protocol_pausedÚ_set_write_buffer_limits)r
   r   Zloop)Ú	__class__r   r   r   ÷   s    z_FlowControlMixin.__init__c             C   sp   | j ƒ }|| jkrd S | jsld| _y| jjƒ  W n: tk
rj } z| jjd|| | jdœƒ W Y d d }~X nX d S )NTzprotocol.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_protocolc             C   sh   | j rd| jƒ | jkrdd| _ y| jjƒ  W n: tk
rb } z| jjd|| | jdœƒ W Y d d }~X nX d S )NFz protocol.resume_writing() failed)r7   r8   r9   r   )r4   r!   Ú
_low_waterr;   Zresume_writingr<   r3   r=   )r
   r?   r   r   r   Ú_maybe_resume_protocol  s    z(_FlowControlMixin._maybe_resume_protocolc             C   s   | j | jfS )N)rA   r:   )r
   r   r   r   Úget_write_buffer_limits  s    z)_FlowControlMixin.get_write_buffer_limitsc             C   sf   |d kr|d krd}nd| }|d kr.|d }||  ko@dkn  sVt d||f ƒ‚|| _|| _d S )Né@   i   é   r   z*high (%r) must be >= low (%r) must be >= 0i   )Ú
ValueErrorr:   rA   )r
   r   r   r   r   r   r5     s    z*_FlowControlMixin._set_write_buffer_limitsc             C   s   | j ||d� | jƒ  d S )N)r   r   )r5   r@   )r
   r   r   r   r   r   r    -  s    z)_FlowControlMixin.set_write_buffer_limitsc             C   s   t ‚d S )N)r   )r
   r   r   r   r!   1  s    z'_FlowControlMixin.get_write_buffer_size)NN)NN)NN)r   r   r   r   r@   rB   rC   r5   r    r!   Ú__classcell__r   r   )r6   r   r1   æ   s   

r1   N)
Zasyncior   Ú__all__r   r   r   r   r   r   r1   r   r   r   r   Ú<module>   s   
#D4