
    N[i	                     t    d dl Z d dlZd dlmZ ddlmZmZ ddlmZ  ej                  e
      Z G d d      Zy)	    N)Optional   )TCPTCPAbridged   )
DataCenterc                   X    e Zd ZdZddededededef
dZd Zd	 Z	d
e
fdZdee
   fdZy)
Connection   dc_id	test_modeipv6proxymediac                 ~    || _         || _        || _        || _        || _        t        ||||      | _        d | _        y N)r   r   r   r   r   r   addressprotocol)selfr   r   r   r   r   s         Q/var/www/files/kim/lib/python3.12/site-packages/pyrogram/connection/connection.py__init__zConnection.__init__    s>    
"	

!%D%@!    c                   K   t        t        j                        D ]  }t        | j                  | j
                        | _        	 t        j                  d       | j                  j                  | j                         d {    t        j                  d| j                  rdnd| j                  | j                  rdnd| j                  rd        y d        y  t        j                  d       t&        7 u# t        $ rb}t        j                  d	|       | j                  j!                          d {  7   t#        j$                  d
       d {  7   Y d }~Dd }~ww xY ww)NzConnecting...zConnected! %s DC%s%s - IPv%sTest
Productionz (media) 64z+Unable to connect due to network issues: %sr   z"Connection failed! Trying again...)ranger
   MAX_CONNECTION_ATTEMPTSr   r   r   r   loginfoconnectr   r   r   r   OSErrorwarningcloseasynciosleepConnectionError)r   ies      r   r#   zConnection.connect*   s    z99: 	"A'		4::>DM)mm++DLL999 7#'>>|'+zzr $			4
  03	4
 !	"$ KK<=!! : 'I1Mmm))+++mmA&&&'s[   AE(=C:C8C:A1E(8C::	E%3E 6D97E EE E( E%%E(c                 ~   K   | j                   j                          d {    t        j                  d       y 7 w)NDisconnected)r   r&   r!   r"   r   s    r   r&   zConnection.close@   s-     mm!!###  	$s   =;=datac                 V   K   | j                   j                  |       d {    y 7 wr   )r   send)r   r/   s     r   r1   zConnection.sendD   s     mm  &&&s   )')returnc                 R   K   | j                   j                          d {   S 7 wr   )r   recvr.   s    r   r4   zConnection.recvG   s     ]]''))))s   '%'N)F)__name__
__module____qualname__r    intbooldictr   r#   r&   bytesr1   r   r4    r   r   r
   r
      sW    "c "d "$ "t "TX "",!'u '*HUO *r   r
   )r'   loggingtypingr   	transportr   r   session.internalsr   	getLoggerr5   r!   r
   r<   r   r   <module>rB      s2   &    ' *g!+* +*r   