
    i                     x    S SK r S SKrS SKJrJr  S SKJr  SSKJrJ	r	  \R                  " \5      r " S S5      rg)    N)OptionalType)utils   )TCPTCPAbridgedc                       \ rS rSrSrS\SS4S\S\S\S	\S
\	S\S\
\   S\S\\R                     SS4S jjrSS jrSS jrS\SS4S jrS\\   4S jrSrg)
Connection      Fr   Ndc_idserver_addressport	test_modeproxymediaprotocol_factorycrypto_executor_workersloopreturnc
                    Xl         X l        X0l        X@l        SU;   U l        XPl        X`l        Xpl        Xl        S U l	        [        U	[        R                  5      (       a  Xl        g [        R                  " 5       U l        g )N:)r   r   r   r   ipv6r   r   r   r   protocol
isinstanceasyncioAbstractEventLoopr   r   get_event_loop)
selfr   r   r   r   r   r   r   r   r   s
             K/app/mltbenv/lib/python3.13/site-packages/pyrogram/connection/connection.py__init__Connection.__init__!   sj     
,	">)	

 0'>$'+dG5566I,,.DI    c                 :  #    [        [        R                  5       H  nU R                  U R                  U R
                  U R                  U R                  S9U l         [        R                  S5        U R                  R                  U R                  U R                  45      I S h  vN   [        R                  SU R                  (       a  SOSU R                  U R                   (       a  SOSU R                  (       a  SOS	5          g    [        R%                  S5        [,        e N! ["         ad  n[        R%                  S
U5        U R                  R'                  5       I S h  vN    [(        R*                  " S5      I S h  vN     S nAGMw  S nAff = f7f)N)r   r   r   r   z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   r   r   loginfoconnectr   r   r   r   r   OSErrorwarningcloser   sleepConnectionError)r   ies      r    r.   Connection.connect>   s<    z99:A 11tyy

lp  mI  mI  PT  PY  PY1  ZDM)mm++T-@-@$)),LMMM 7#'>>|'+zzr $		s	4
 ! ;$ KK<=!! N 'I1Mmm))+++mmA&&&&'s\   AFA	D*(D()D*-A;F(D**
F43F'E*(FF	FFFFc                 ~   #    U R                   R                  5       I S h  vN   [        R                  S5        g  N7f)NDisconnected)r   r1   r,   r-   r   s    r    r1   Connection.closeT   s,     mm!!###  	$s   =;=datac                 V   #    U R                   R                  U5      I S h  vN   g  N7fN)r   send)r   r;   s     r    r>   Connection.sendX   s     mm  &&&s   )')c                 R   #    U R                   R                  5       I S h  vN $  N7fr=   )r   recvr9   s    r    rA   Connection.recv[   s     ]]''))))s   '%')r   r   r   r   r   r   r   r   r   r   r   )r   N)__name__
__module____qualname____firstlineno__r+   r   intstrbooldictr   r   r   r   r   r!   r.   r1   bytesr>   rA   __static_attributes__ r#   r    r
   r
      s     &1'(48// / 	/
 / / / s)/ "%/ w001/ 
/:",!'u ' '*HUO *r#   r
   )r   loggingtypingr   r   pyrogramr   	transportr   r   	getLoggerrC   r,   r
   rM   r#   r    <module>rS      s0   &   !  '!>* >*r#   