
    3Cf<                     ^    d dl Z d dlmZmZ ddlmZ ddlmZ  G d de j                        Z	y)    N)Optionalcast   )set_exception)tcp_nodelayc                       e Zd ZdZdej
                  ddfdZedefd       Z	ddZ
ddZdd	Zdd
Zdej                  ddfdZdee   ddfdZddZy)BaseProtocol)_loop_paused_drain_waiter_connection_lost_reading_paused	transportloopreturnNc                 J    || _         d| _        d | _        d| _        d | _        y NF)r
   r   r   r   r   )selfr   s     U/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/aiohttp/base_protocol.py__init__zBaseProtocol.__init__   s'    04
=A$6:    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                   rJ d| _         y NT)r   r   s    r   pause_writingzBaseProtocol.pause_writing   s    <<r   c                     | j                   sJ d| _         | j                  }|*d | _        |j                         s|j                  d        y y y r   )r   r   done
set_resultr   waiters     r   resume_writingzBaseProtocol.resume_writing#   sO    |||##!%D;;=!!$' ! r   c                     | j                   s0| j                  #	 | j                  j                          d| _         y y y # t        t        t
        f$ r Y  w xY wr   )r   r   pause_readingAttributeErrorNotImplementedErrorRuntimeErrorr   s    r   r%   zBaseProtocol.pause_reading-   sX    ##(B,,. $(D  )C# #$7F    > AAc                     | j                   r0| j                  #	 | j                  j                          d| _         y y y # t        t        t
        f$ r Y  w xY wr   )r   r   resume_readingr&   r'   r(   r   s    r   r+   zBaseProtocol.resume_reading5   sW    DNN$>--/ $)D  %? #$7F r)   r   c                 ^    t        t        j                  |      }t        |d       || _        y r   )r   asyncio	Transportr   r   )r   r   trs      r   connection_madezBaseProtocol.connection_made=   s%    '##Y/Br   excc                     d | _         | j                  sy | j                  }|y d | _        |j                         ry ||j	                  d        y t        |t        d      |       y NzConnection lost)r   r   r   r   r    r   ConnectionError)r   r1   r"   s      r   connection_lostzBaseProtocol.connection_lostB   sd    ||##>!;;=;d# 12r   c                    K   | j                   st        d      | j                  sy | j                  }|!| j                  j                         }|| _        t        j                  |       d {    y 7 wr3   )r   ConnectionResetErrorr   r   r
   create_futurer-   shieldr!   s     r   _drain_helperzBaseProtocol._drain_helperV   s_     ~~&'899||##>ZZ--/F!'DnnV$$$s   A,A6.A4/A6)r   N)__name__
__module____qualname__	__slots__r-   AbstractEventLoopr   propertyboolr   r   r#   r%   r+   BaseTransportr0   r   BaseExceptionr5   r:    r   r   r	   r	      s    I;W66 ;4 ; *4 * *(())>)> 4 
8M#: t (	%r   r	   )
r-   typingr   r   helpersr   tcp_helpersr   Protocolr	   rD   r   r   <module>rI      s%     ! " $W%7## W%r   