a
    e	g                     @   sR   d dl Z d dlmZmZ ddlmZ ddlmZ ddlm	Z	 G dd de j
ZdS )	    N)Optionalcast   )ClientConnectionResetError)set_exception)tcp_nodelayc                   @   s   e Zd ZdZejddddZeedddZ	eedd	d
Z
ddddZddddZddddZddddZejddddZee ddddZddddZdS )BaseProtocol)_loop_paused_drain_waiterZ_connection_lost_reading_paused	transportN)loopreturnc                 C   s"   || _ d| _d | _d| _d | _d S NF)r	   r
   r   r   r   )selfr    r   X/var/www/html/llm_bihealth/app/venv/lib/python3.9/site-packages/aiohttp/base_protocol.py__init__   s
    zBaseProtocol.__init__)r   c                 C   s
   | j duS )z&Return True if the connection is open.N)r   r   r   r   r   	connected   s    zBaseProtocol.connectedc                 C   s   | j S )Nr
   r   r   r   r   writing_paused    s    zBaseProtocol.writing_pausedc                 C   s   | j r
J d| _ d S NTr   r   r   r   r   pause_writing$   s    
zBaseProtocol.pause_writingc                 C   s:   | j s
J d| _ | j}|d ur6d | _| s6|d  d S r   )r
   r   done
set_resultr   waiterr   r   r   resume_writing(   s    
zBaseProtocol.resume_writingc              
   C   sB   | j s>| jd ur>z| j  W n tttfy6   Y n0 d| _ d S r   )r   r   pause_readingAttributeErrorNotImplementedErrorRuntimeErrorr   r   r   r   r    2   s    zBaseProtocol.pause_readingc              
   C   sB   | j r>| jd ur>z| j  W n tttfy6   Y n0 d| _ d S r   )r   r   resume_readingr!   r"   r#   r   r   r   r   r$   :   s    zBaseProtocol.resume_reading)r   r   c                 C   s    t tj|}t|d || _d S r   )r   asyncio	Transportr   r   )r   r   trr   r   r   connection_madeB   s    
zBaseProtocol.connection_made)excr   c                 C   s\   d | _ | jsd S | j}|d u r"d S d | _| r4d S |d u rH|d  nt|td| d S NzConnection lost)r   r
   r   r   r   r   ConnectionError)r   r)   r   r   r   r   connection_lostG   s     zBaseProtocol.connection_lostc                    sN   | j d u rtd| jsd S | j}|d u r:| j }|| _t|I d H  d S r*   )r   r   r
   r   r	   Zcreate_futurer%   Zshieldr   r   r   r   _drain_helper[   s    

zBaseProtocol._drain_helper)__name__
__module____qualname__	__slots__r%   ZAbstractEventLoopr   propertyboolr   r   r   r   r    r$   ZBaseTransportr(   r   BaseExceptionr,   r-   r   r   r   r   r   	   s   	
r   )r%   typingr   r   Zclient_exceptionsr   Zhelpersr   Ztcp_helpersr   Protocolr   r   r   r   r   <module>   s
   