U
    ç;ãgî	  ã                   @   sT   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 	e
¡ZG dd„ dƒZdS )	é    N)ÚOptionalé   )ÚTCPÚTCPAbridgedé   )Ú
DataCenterc                   @   sX   e Zd ZdZdeeeeedœdd„Zdd„ Zdd	„ Z	e
d
œdd„Zee
 dœdd„ZdS )Ú
Connectioné   F)Údc_idÚ	test_modeÚipv6ÚproxyÚmediac                 C   s8   || _ || _|| _|| _|| _t||||ƒ| _d | _d S ©N)r
   r   r   r   r   r   ÚaddressÚprotocol)Úselfr
   r   r   r   r   © r   ú^/opt/bot/vods_filmes/script/venv/lib/python3.8/site-packages/pyrogram/connection/connection.pyÚ__init__    s    zConnection.__init__c                 Ã   sÚ   t tjƒD ]¼}t| j| jƒ| _z"t d¡ | j 	| j
¡I d H  W nN tk
rŽ } z0t d|¡ | j ¡ I d H  t d¡I d H  W 5 d }~X Y q
X t d| jr dnd| j| jr°dnd| jr¼d	nd
¡  qÖq
t d¡ t‚d S )NzConnecting...z+Unable to connect due to network issues: %sr   zConnected! %s DC%s%s - IPv%sZTestZ
Productionz (media)Ú Ú6Ú4z"Connection failed! Trying again...)Úranger   ÚMAX_CONNECTION_ATTEMPTSr   r   r   r   ÚlogÚinfoÚconnectr   ÚOSErrorÚwarningÚcloseÚasyncioÚsleepr   r
   r   ÚConnectionError)r   ÚiÚer   r   r   r   *   s$    
"ü
zConnection.connectc                 Ã   s   | j  ¡ I d H  t d¡ d S )NZDisconnected)r   r    r   r   ©r   r   r   r   r    @   s    zConnection.close)Údatac                 Ã   s   | j  |¡I d H  d S r   )r   Úsend)r   r'   r   r   r   r(   D   s    zConnection.send)Úreturnc                 Ã   s   | j  ¡ I d H S r   )r   Úrecvr&   r   r   r   r*   G   s    zConnection.recvN)F)Ú__name__Ú
__module__Ú__qualname__r   ÚintÚboolÚdictr   r   r    Úbytesr(   r   r*   r   r   r   r   r      s   
r   )r!   ÚloggingÚtypingr   Ú	transportr   r   Zsession.internalsr   Ú	getLoggerr+   r   r   r   r   r   r   Ú<module>   s   
