
    *GjP                         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ef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	_upgraded	transportNloopparserzHttpParser[Any] | Nonereturnc                 h    || _         d| _        d | _        d| _        || _        d| _        d | _        d S NF)r   r   r   r   r   r   r   )selfr   r   s      ]/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/aiohttp/base_protocol.py__init__zBaseProtocol.__init__   s;     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_paused0   s
    |r   c                 &    | j         rJ d| _         d S NTr#   r   s    r   pause_writingzBaseProtocol.pause_writing4   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_writing8   sh    ||#!%D;;== (!!$''''' ( (r   c                     d| _         | j        s"| j        J | j                                         | j        -	 | j                                         d S # t
          $ r Y d S w xY wd S r&   )r   r   r   pause_readingr   PAUSE_RESUME_READING_ERRORSr   s    r   r/   zBaseProtocol.pause_readingB   s    #~ 	)<+++L&&(((>%,,......     &%s   A 
A"!A"c                     dS )zEKeep the transport paused for protocol-specific reasons (overridden).F r   s    r   _reading_paused_for_msg_queuez*BaseProtocol._reading_paused_for_msg_queueP   s    ur   Tresume_parserc                    d| _         | j        s|r|                     d           | j         sO|                                 s=| j        8	 | j                                         n# t          $ r Y nw xY wd| _         d S d S d S d S )NFr   )r   r   data_receivedr3   r   resume_readingr0   )r   r4   s     r   r7   zBaseProtocol.resume_readingT   s    $ ~ 	$- 	$s###
 $	)6688	) *--////.     $)D   	) 	) 	) 	) +*s   	A# #
A0/A0r   c                 h    t          t          j        |          }t          |d           || _        d S r&   )r   asyncio	Transportr	   r   )r   r   trs      r   connection_madezBaseProtocol.connection_madej   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   r=   r,   s      r   connection_lostzBaseProtocol.connection_losto   s    | 	F#>F!;;== 	F;d##### 122    r   c                    K   | j         t          d          | j        sd S | j        }| | j                                        }|| _        | d {V  d S r?   )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__r9   AbstractEventLoopr   propertyboolr    r$   r'   r-   r/   r3   r7   BaseTransportr<   BaseExceptionrA   rD   r2   r   r   r   r      s       	I SW
8 
8-
87O
8	
8 
8 
8 
8 *4 * * * X*     X   ( ( ( (   t    ) )D )D ) ) ) ),)> 4    
=4#7 D    (	 	 	 	 	 	r   r   )r9   typingr   r   r   client_exceptionsr   helpersr   tcp_helpersr	   http_parserr
   AttributeErrorNotImplementedErrorRuntimeErrorr0   Protocolr   r2   r   r   <module>rW      s     + + + + + + + + + + 9 9 9 9 9 9 " " " " " " $ $ $ $ $ $ (''''''  ./BLQ y y y y y7# y y y y yr   