+
    i                    2    ^ RI Ht ^ RIHt  ! R R4      tR# )    )annotations)	Generatorc                  z    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
R R ltR R ltRtR# )StreamReaderz
Generator-based stream reader.

This class doesn't support concurrent calls to :meth:`read_line`,
:meth:`read_exact`, or :meth:`read_to_eof`. Make sure calls are
serialized.

c                   V ^8  d   QhRR/#    returnNone )formats   "Y/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/websockets/streams.py__annotate__StreamReader.__annotate__   s      $     c                	2    \        4       V n        R V n        R# )FN)	bytearraybuffereofselfs   &r   __init__StreamReader.__init__   s    kr   c                    V ^8  d   QhRRRR/# r	   mintr
    Generator[None, None, bytearray]r   )r   s   "r   r   r      s        3  #C  r   c              #    "   ^ p^ p V P                   P                  RV4      ^,           pV^ 8  d   MT\        V P                   4      pW18  d   \        RV RV R24      hV P                  '       d   \        RV R24      hRx  K  W!8  d   \        RV RV R24      hV P                   RV pV P                   RV1 V# 5i)a=  
Read a LF-terminated line from the stream.

This is a generator-based coroutine.

The return value includes the LF character.

Args:
    m: Maximum number bytes to read; this is a security limit.

Raises:
    EOFError: If the stream ends without a LF.
    RuntimeError: If the stream ends in more than ``m`` bytes.

   
read  bytes, expected no more than  bytesstream ends after z bytes, before end of lineN)r   findlenRuntimeErrorr   EOFError)r   r   nprs   &&   r   	read_lineStreamReader.read_line   s         *Q.A1uDKK Au"U1#-KA3f#UVVxxx!3A36PQRR5qc)Gs&QRRKKOKKOs   A/B?2AB?c                    V ^8  d   QhRRRR/# )r	   r)   r   r
   r   r   )r   s   "r   r   r   6   s      C $D r   c              #    "   V^ 8  g   Q h\        V P                  4      V8  d@   V P                  '       d(   \        V P                  4      p\        RV RV R24      hRx  KY  V P                  RV pV P                  RV1 V# 5i)z
Read a given number of bytes from the stream.

This is a generator-based coroutine.

Args:
    n: How many bytes to read.

Raises:
    EOFError: If the stream ends in less than ``n`` bytes.

r$   z bytes, expected r#   N)r&   r   r   r(   )r   r)   r*   r+   s   &&  r   
read_exactStreamReader.read_exact6   s|      Avv$++"xxx$!3A36Gs&QRRKKOKKOs   5BABc                    V ^8  d   QhRRRR/# r   r   )r   s   "r   r   r   M   s      S %E r   c              #     "   V P                   '       g4   \        V P                  4      pW!8  d   \        RV RV R24      hRx  KE  V P                  R,          pV P                  R V# 5i)z
Read all bytes from the stream.

This is a generator-based coroutine.

Args:
    m: Maximum number bytes to read; this is a security limit.

Raises:
    RuntimeError: If the stream ends in more than ``m`` bytes.

r!   r"   r#   NNNN)r   r&   r   r'   )r   r   r*   r+   s   &&  r   read_to_eofStreamReader.read_to_eofM   s^      (((DKK Au"U1#-KA3f#UVVKKNKKNs   A*AA*c                   V ^8  d   QhRR/# )r	   r
   zGenerator[None, None, bool]r   )r   s   "r   r   r   c   s      3 r   c              #  h   "    V P                   '       d   R# V P                  '       d   R# Rx  K/  5i)za
Tell whether the stream has ended and all data was read.

This is a generator-based coroutine.

TFNr   r   r   s   &r   at_eofStreamReader.at_eofc   s'      {{{xxx s   222c                    V ^8  d   QhRRRR/# )r	   datazbytes | bytearrayr
   r   r   )r   s   "r   r   r   s   s      / D r   c                r    V P                   '       d   \        R4      hV ;P                  V,          un        R# )z
Write data to the stream.

:meth:`feed_data` cannot be called after :meth:`feed_eof`.

Args:
    data: Data to write.

Raises:
    EOFError: If the stream has ended.

stream endedN)r   r(   r   )r   r=   s   &&r   	feed_dataStreamReader.feed_datas   s&     888>**tr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s      $ r   c                N    V P                   '       d   \        R4      hRV n         R# )zu
End the stream.

:meth:`feed_eof` cannot be called more than once.

Raises:
    EOFError: If the stream has ended.

r?   TN)r   r(   r   s   &r   feed_eofStreamReader.feed_eof   s     888>**r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r      s       r   c                     V P                   R R# )z7
Discard all buffered data, but don't end the stream.

r4   N)r   r   s   &r   discardStreamReader.discard   s    
 KKNr   r9   N)__name__
__module____qualname____firstlineno____doc__r   r,   r0   r5   r:   r@   rD   rH   __static_attributes__r   r   r   r   r      s5     D., " r   r   N)
__future__r   collections.abcr   r   r   r   r   <module>rR      s    " %Q Qr   