
    N[ir                     z    d dl Z d dlmZ d dlmZmZ d dlmZ ddlm	Z	  e j                  e      Z G d de	      Zy)	    N)crc32)packunpack)Optional   )TCPc                   d     e Zd Zdedef fdZdef fdZdef fdZ	dde
d	ee   f fd
Z xZS )TCPFullipv6proxyc                 4    t         |   ||       d | _        y )N)super__init__seq_no)selfr   r   	__class__s      ]/var/www/files/kim/lib/python3.12/site-packages/pyrogram/connection/transport/tcp/tcp_full.pyr   zTCPFull.__init__   s    u%    addressc                 N   K   t         |   |       d {    d| _        y 7 w)Nr   )r   connectr   )r   r   r   s     r   r   zTCPFull.connect#   s%     gog&&& 	's   %#%datac                    K   t        dt        |      dz   | j                        |z   }|t        dt        |            z  }| xj                  dz  c_        t        |   |       d {    y 7 w)Nz<II   <Ir   )r   lenr   r   r   send)r   r   argsr   s      r   r   zTCPFull.send'   s[     E3t9r>4;;7$>T5;''qgl4   s   A&A1)A/*A1lengthreturnc                    K   t         |   d       d {   }|y t         |   t        d|      d   dz
         d {   }|y ||z   }|dd  }|d d }t        |      t        d|      d   k7  ry |dd  S 7 a7 9w)N   r   r      )r   recvr   r   )r   r   packetchecksumr   s       r   r%   zTCPFull.recv.   s     w|A&>w|F4$8$;a$?@@>&"#;=F42155abz# '
 As!   A<A8)A< A:8A<:A<)r   )__name__
__module____qualname__booldictr   tupler   bytesr   intr   r%   __classcell__)r   s   @r   r
   r
      sJ    T $ 
U !u ! Xe_  r   r
   )loggingbinasciir   structr   r   typingr   tcpr   	getLoggerr(   logr
    r   r   <module>r9      s4   &     g!#c #r   