o
    m=8jP                     @   sp   d dl Z d dlmZmZmZ ddlmZ ddlmZ ddl	m
Z
 er(ddlmZ eeefZG dd	 d	e jZdS )
    N)TYPE_CHECKINGAnycast   )ClientConnectionResetError)set_exception)tcp_nodelay)
HttpParserc                   @   s   e Zd ZdZ	d!dejddddfddZedefd	d
Z	edefddZ
d"ddZd"ddZd"ddZdefddZd#deddfddZdejddfddZdedB ddfddZd"dd ZdS )$BaseProtocol)_loop_paused_parser_drain_waiter_connection_lost_reading_paused	_upgraded	transportNloopparserzHttpParser[Any] | Nonereturnc                 C   s.   || _ d| _d | _d| _|| _d| _d | _d S NF)r   r   r   r   r   r   r   )selfr   r    r   \/home/nk/hobo-godmode/plappi-mvp/.venv/lib/python3.10/site-packages/aiohttp/base_protocol.py__init__   s   
zBaseProtocol.__init__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_paused0   s   zBaseProtocol.writing_pausedc                 C   s   | j rJ d| _ d S NTr   r   r   r   r   pause_writing4   s   

zBaseProtocol.pause_writingc                 C   sB   | j sJ d| _ | j}|d urd | _| s|d  d S d S d S r   )r   r   done
set_resultr   waiterr   r   r   resume_writing8   s   
zBaseProtocol.resume_writingc                 C   sX   d| _ | js| jd usJ | j  | jd ur*z| j  W d S  ty)   Y d S w d S r    )r   r   r   pause_readingr   PAUSE_RESUME_READING_ERRORSr   r   r   r   r'   B   s   

zBaseProtocol.pause_readingc                 C   s   dS )zEKeep the transport paused for protocol-specific reasons (overridden).Fr   r   r   r   r   _reading_paused_for_msg_queueP   s   z*BaseProtocol._reading_paused_for_msg_queueTresume_parserc                 C   sj   d| _ | js|r| d | j s/|  s1| jd ur3z| j  W n	 ty)   Y nw d| _ d S d S d S d S )NF    )r   r   data_receivedr)   r   resume_readingr(   )r   r*   r   r   r   r-   T   s    



zBaseProtocol.resume_readingr   c                 C   s    t tj|}t|d || _d S r    )r   asyncio	Transportr   r   )r   r   trr   r   r   connection_madej   s   

zBaseProtocol.connection_madeexcc                 C   s^   d | _ | jsd S | j}|d u rd S d | _| rd S |d u r%|d  d S t|td| d S NzConnection lost)r   r   r   r"   r#   r   ConnectionError)r   r2   r%   r   r   r   connection_losto   s    zBaseProtocol.connection_lostc                    sJ   | j d u r
td| jsd S | j}|d u r| j }|| _|I d H  d S r3   )r   r   r   r   r   create_futurer$   r   r   r   _drain_helper   s   

zBaseProtocol._drain_helperr   )r   N)T)__name__
__module____qualname__	__slots__r.   AbstractEventLoopr   propertyboolr   r   r!   r&   r'   r)   r-   BaseTransportr1   BaseExceptionr5   r7   r   r   r   r   r
      s,    




r
   )r.   typingr   r   r   client_exceptionsr   helpersr   tcp_helpersr   http_parserr	   AttributeErrorNotImplementedErrorRuntimeErrorr(   Protocolr
   r   r   r   r   <module>   s    
