
    iN                         d dl Z d dlmZ d dlZd dlZd dlmZ ddlmZ ddl	m
Z dZeej                  j                  ef   Z G d d	ej                        Zy)
    N)Union)	TLSStream   )
ProxyError)_abci   c                       e Zd ZU eed<   deddfdZdefdZefde	fd	Z
d
e	fdZdedej                  dd fdZd Zedefd       Zy)AnyioSocketStream_streamstreamreturnNc                     || _         y Nr
   )selfr   s     T/root/searxng-venv/lib/python3.12/site-packages/python_socks/async_/anyio/_stream.py__init__zAnyioSocketStream.__init__   s	        datac                 X   K   | j                   j                  |       d {    y 7 w)N)item)r
   send)r   r   s     r   	write_allzAnyioSocketStream.write_all   s!     llT***s    *(*	max_bytesc                    K   	 | j                   j                  |       d {   S 7 # t        j                  $ r Y yw xY ww)N)r   r   )r
   receiveanyioEndOfStream)r   r   s     r   readzAnyioSocketStream.read   s@     	--	-BBBB   		s/   A* (* A* A AA  Anc                    K   t               }t        |      |k  rF| j                  |t        |      z
         d {   }|st        d      ||z  }t        |      |k  rF|S 7 'w)NzConnection closed unexpectedly)	bytearraylenr   r   )r   r   r   packets       r   
read_exactzAnyioSocketStream.read_exact   sb     {$i!m99QT]33F !ABBFND	 $i!m
 	 4s   9A%A#$A%!A%hostnamessl_contextc                 |   K   t        j                  | j                  ||dd       d {   }t        |      S 7 w)NF)r&   r%   standard_compatibleserver_side)r   wrapr
   r	   )r   r%   r&   
ssl_streams       r   	start_tlszAnyioSocketStream.start_tls(   s@     
 %>>LL# %
 

 !,,
s   (<:<c                 T   K   | j                   j                          d {    y 7 wr   )r
   acloser   s    r   closezAnyioSocketStream.close6   s     ll!!###s   (&(c                     | j                   S r   r   r/   s    r   anyio_streamzAnyioSocketStream.anyio_stream9   s    ||r   )__name__
__module____qualname__AnyioStreamType__annotations__r   bytesr   DEFAULT_RECEIVE_SIZEintr   r$   strssl
SSLContextr,   r0   propertyr2    r   r   r	   r	      s     4 +E + +? C # -- ^^- 
	-$ o  r   r	   )r<   typingr   r   	anyio.abcanyio.streams.tlsr   _errorsr    r   abcr9   SocketStreamr6   AsyncSocketStreamr	   r?   r   r   <module>rH      sK    
    ' !  		..	9:+-- +r   