§
    ;xÅjä  ã                   ó†   — 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	e j        ¦  «        ZdS )
é    N)ÚTYPE_CHECKINGÚAnyÚcasté   )ÚClientConnectionResetError)Úset_exception)Útcp_nodelay)Ú
HttpParserc                   óî   — e Zd ZdZ	 ddej        ddddfd„Zedefd„¦   «         Z	edefd	„¦   «         Z
dd
„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zddeddfd„Zdej        ddfd„Zdedz  ddfd„Zdd„ZdS )ÚBaseProtocol)	Ú_loopÚ_pausedÚ_parserÚ_drain_waiterÚ_connection_lostÚ_reading_pausedÚ_buffer_pausedÚ	_upgradedÚ	transportNÚloopÚparserzHttpParser[Any] | NoneÚreturnc                 óv   — || _         d| _        d | _        d| _        d| _        || _        d| _        d | _        d S ©NF)r   r   r   r   r   r   r   r   )Úselfr   r   s      úFC:\Projects\Historical\venv\Lib\site-packages\aiohttp/base_protocol.pyÚ__init__zBaseProtocol.__init__    sC   € ð 15ˆŒ
ØˆŒØ:>ˆÔØ$ˆÔØ#ˆÔØˆŒØˆŒà37ˆŒˆˆó    c                 ó   — | j         duS )z&Return True if the connection is open.N)r   ©r   s    r   Ú	connectedzBaseProtocol.connected-   s   € ð Œ~ TÐ)Ð)r   c                 ó   — | j         S ©N©r   r    s    r   Úwriting_pausedzBaseProtocol.writing_paused2   s
   € àŒ|Ðr   c                 ó&   — | j         rJ ‚d| _         d S ©NTr$   r    s    r   Úpause_writingzBaseProtocol.pause_writing6   s   € Ø”<ÐÐÐØˆŒˆˆr   c                 ó    — | j         sJ ‚d| _         | j        }|�2d | _        |                     ¦   «         s|                     d ¦  «         d S d S d S r   )r   r   ÚdoneÚ
set_result©r   Úwaiters     r   Úresume_writingzBaseProtocol.resume_writing:   sh   € ØŒ|ÐÐˆ|ØˆŒàÔ#ˆØÐØ!%ˆDÔØ—;’;‘=”=ð (Ø×!Ò! $Ñ'Ô'Ð'Ð'Ð'ð Ðð(ð (r   c                 óŽ   — d| _         | j        s"| j        €J ‚| j                             ¦   «          |                      ¦   «          d S r'   )r   r   r   Úpause_readingÚ_pause_transport_readingr    s    r   r0   zBaseProtocol.pause_readingD   sN   € Ø#ˆÔàŒ~ð 	)Ø”<Ð+Ð+Ð+ØŒL×&Ò&Ñ(Ô(Ð(Ø×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 ó<   — d| _         |                      ¦   «          dS )a  Hold the transport for a buffer this protocol cannot drain yet.

        One flag covers every buffer a protocol owns; the server already
        multiplexes its message queue and its tail through it. Re-check the
        conditions on resume rather than adding another flag.
        TN)r   r1   r    s    r   Ú_pause_reading_for_bufferz&BaseProtocol._pause_reading_for_bufferL   s$   € ð #ˆÔØ×%Ò%Ñ'Ô'Ð'Ð'Ð'r   c                 óN   — d| _         | j        s|                      ¦   «          dS dS )z?Release that hold, unless flow control is still holding it too.FN)r   r   Ú_resume_transport_readingr    s    r   Ú_resume_reading_for_bufferz'BaseProtocol._resume_reading_for_bufferV   s7   € à#ˆÔØÔ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-r   c                 ón   — | j         �-	 | j                              ¦   «          d S # t          $ r Y d S w xY wd S r#   )r   r0   ÚPAUSE_RESUME_READING_ERRORSr    s    r   r1   z%BaseProtocol._pause_transport_reading\   sU   € ØŒ>Ð%ðØ”×,Ò,Ñ.Ô.Ð.Ð.Ð.øÝ.ð ð ð ð ��ðøøøð &Ð%ó   ‰$ ¤
2±2c                 ón   — | j         �-	 | j                              ¦   «          d S # t          $ r Y d S w xY wd S r#   )r   Úresume_readingr8   r    s    r   r5   z&BaseProtocol._resume_transport_readinge   sU   € ØŒ>Ð%ðØ”×-Ò-Ñ/Ô/Ð/Ð/Ð/øÝ.ð ð ð ð ��ðøøøð &Ð%r9   TÚresume_parserc                 óœ   — d| _         | j        s|r|                      d¦  «         | j         s| j        s|                      ¦   «          d S d S d S )NFr   )r   r   Údata_receivedr   r5   )r   r<   s     r   r;   zBaseProtocol.resume_readingn   st   € Ø$ˆÔð Œ~ð 	$ -ð 	$Ø×Ò˜sÑ#Ô#Ð#ð Ô#ð 	-¨DÔ,?ð 	-Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ð 	-ð 	-r   r   c                 óh   — t          t          j        |¦  «        }t          |d¦  «         || _        d S r'   )r   ÚasyncioÚ	Transportr	   r   )r   r   Útrs      r   Úconnection_madezBaseProtocol.connection_madez   s/   € Ý•'Ô# YÑ/Ô/ˆÝ�B˜ÑÔÐØˆŒˆˆr   Úexcc                 óä   — d | _         | j        sd S | j        }|€d S d | _        |                     ¦   «         rd S |€|                     d ¦  «         d S t          |t          d¦  «        |¦  «         d S ©NzConnection lost)r   r   r   r*   r+   r   ÚConnectionError)r   rD   r-   s      r   Úconnection_lostzBaseProtocol.connection_lost   s”   € àˆŒØŒ|ð 	ØˆFØÔ#ˆØˆ>ØˆFØ!ˆÔØ�;Š;‰=Œ=ð 	ØˆFØˆ;Ø×Ò˜dÑ#Ô#Ð#Ð#Ð#åØÝÐ 1Ñ2Ô2Øñô ð ð ð r   c              ƒ   óª   K  — | j         €t          d¦  «        ‚| j        sd S | j        }|€ | j                             ¦   «         }|| _        |ƒ d {V —† d S rF   )r   r   r   r   r   Úcreate_futurer,   s     r   Ú_drain_helperzBaseProtocol._drain_helper“   si   è è € ØŒ>Ð!Ý,Ð->Ñ?Ô?Ð?ØŒ|ð 	ØˆFØÔ#ˆØˆ>Ø”Z×-Ò-Ñ/Ô/ˆFØ!'ˆDÔØˆˆˆˆˆˆˆˆˆr   r#   )r   N)T)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r@   ÚAbstractEventLoopr   ÚpropertyÚboolr!   r%   r(   r.   r0   r3   r6   r1   r5   r;   ÚBaseTransportrC   ÚBaseExceptionrH   rK   © r   r   r   r      s·  € € € € € ð
€Ið SWð8ð 8ØÔ-ð8Ø7Oð8à	ð8ð 8ð 8ð 8ð ð*˜4ð *ð *ð *ñ „Xð*ð ð ð ð ð ñ „Xððð ð ð ð(ð (ð (ð (ð(ð (ð (ð (ð(ð (ð (ð (ð-ð -ð -ð -ðð ð ð ðð ð ð ð
-ð 
-¨Dð 
-¸Dð 
-ð 
-ð 
-ð 
-ð¨Ô)>ð À4ð ð ð ð ð
 =°4Ñ#7ð ¸Dð ð ð ð ð(	ð 	ð 	ð 	ð 	ð 	r   r   )r@   Útypingr   r   r   Úclient_exceptionsr   Úhelpersr   Útcp_helpersr	   Úhttp_parserr
   ÚAttributeErrorÚNotImplementedErrorÚRuntimeErrorr8   ÚProtocolr   rU   r   r   ú<module>r_      sÍ   ðØ €€€Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $àð (Ø'Ð'Ð'Ð'Ð'Ð'ð  .Ð/BÀLÐQÐ ðIð Ið Ið Ið I�7Ô#ñ Iô Ið Ið Ið Ir   