
    ,i                         d dl Z d dlZd dlZd dlZd dlmZmZmZmZ erddl	m
Z
 ddlmZ ddlmZ 	  G d d      Z G d	 d
e      Z G d de      Z G d d      Zy)    N)TYPE_CHECKINGCallableOptionalUnion   )WebSocketApp)_loggingsendc                       e Zd ZdZdddeeeef      ddfdZdeeeef      d	e	ddfd
Z
dede	ddfdZdej                  deeef   defdZy)DispatcherBasez
    DispatcherBase
    appr   ping_timeoutreturnNc                      || _         || _        y N)r   r   )selfr   r   s      d/var/www/system.tvplus.app.br/jogos/scrap/venv/lib/python3.12/site-packages/websocket/_dispatcher.py__init__zDispatcherBase.__init__$   s     (    secondscallbackc                 @    |t        j                  |        |        y r   )timesleep)r   r   r   s      r   timeoutzDispatcherBase.timeout*   s    JJw
r   reconnectorc           	         	 t        j                  d| dt        t        j                                d       t        j                  |        |d       y # t        $ r}t        j                  d|        |d }~ww xY w)Nzreconnect() - retrying in z
 seconds [z frames in stack]T)reconnectingzUser exited )r	   infoleninspectstackr   r   KeyboardInterrupt)r   r   r   es       r   	reconnectzDispatcherBase.reconnect/   sp    	MM,WIZGMMO@T?UUfg JJwT*  	MML,-G	s   AA 	B !A;;B sockdatac                     t        ||      S r   r
   r   r'   r(   s      r   r   zDispatcherBase.send:   s    D$r   )__name__
__module____qualname____doc__r   r   floatintr   r   r   r&   socketstrbytesr    r   r   r   r      s    )!)19%s
:K1L)	)xeSj(9: h SW 
	 	8 	 	   eCJ.?  C  r   r   c                   <    e Zd ZdZdej                  dededdfdZy)
Dispatcherz
    Dispatcher
    r'   read_callbackcheck_callbackr   Nc                    | j                   j                   | j                   j                  j                  y t        j                         }|j	                  | j                   j                  j                  t        j
                         	 | j                   j                  rA|j                  | j                        r |       sn |        | j                   j                  rA|j                          y # |j                          w xY wr   )
r   r'   	selectorsDefaultSelectorregister
EVENT_READkeep_runningselectr   closer   r'   r7   r8   sels        r   readzDispatcher.readC   s     88== DHHMM$6$6$>'')TXX]]'')=)=>	((''::d//0(? 	 (('' IIKCIIKs   AC3 3D)r+   r,   r-   r.   r1   r   rC   r4   r   r   r6   r6   >   s6    mm   !	
 
r   r6   c                   \    e Zd ZdZdej                  dededdfdZdej                  fd	Z	y)
SSLDispatcherz
    SSLDispatcher
    r'   r7   r8   r   Nc                    | j                   j                   | j                   j                  j                  y | j                   j                  j                  }t        j                         }|j	                  |t        j
                         	 | j                   j                  r8| j                  ||      r |       sn |        | j                   j                  r8|j                          y # |j                          w xY wr   )	r   r'   r:   r;   r<   r=   r>   r?   r@   rA   s        r   rC   zSSLDispatcher.read\   s     88== DHHMM$6$6$>xx}}!!'')T9//0	(('';;tS)(? 	 (('' IIKCIIKs   AC, ,C>rB   c                     | j                   j                  y | j                   j                  j                  }|j                         r|gS |j                  | j                        }t        |      dkD  r|d   d   S y )Nr   )r   r'   pendingr?   r   r!   )r   r'   rB   rs       r   r?   zSSLDispatcher.selectp   sm    88== xx}}!!<<>  JJt(()q6A:Q47Nr   )
r+   r,   r-   r.   r1   r   rC   r:   r;   r?   r4   r   r   rE   rE   W   sH    mm   !	
 
(	 9 9 r   rE   c                       e Zd ZdZdddeeeef      ddfdZde	j                  d	e
d
e
ddfdZde	j                  deeef   defdZdede
ddfdZdede
ddfdZy)WrappedDispatcherz
    WrappedDispatcher
    r   r   r   r   Nc                 t    || _         || _        || _        || _        |j	                  d|j
                         y )N   )r   r   
dispatcherhandleDisconnectsignalabort)r   r   r   rN   rO   s        r   r   zWrappedDispatcher.__init__   s8     ($ 0!Z--.r   r'   r7   r8   c                     | j                   j                  ||       | j                  r| j                  | j                  |       y y r   )rN   rC   r   r   )r   r'   r7   r8   s       r   rC   zWrappedDispatcher.read   s:     	T=1LL**N; r   r(   c                 p    | j                   j                  ||t        | j                         t	        |      S r   )rN   	buffwriter   rO   r!   r*   s      r   r   zWrappedDispatcher.send   s*    !!$dD4I4IJ4yr   r   r   c                 @     | j                   j                  ||g|  y r   )rN   r   )r   r   r   argss       r   r   zWrappedDispatcher.timeout   s    9D9r   r   c                 *    | j                  ||d       y )NT)r   )r   r   r   s      r   r&   zWrappedDispatcher.reconnect   s    Wk40r   )r+   r,   r-   r.   r   r   r/   r0   r   r1   r   rC   r2   r3   r   r   r&   r4   r   r   rK   rK      s    // uUCZ01/ 
/<mm<  < !	<
 
< eCJ.? C :u : :D :1 18 1 1r   rK   )r   r1   r"   r:   typingr   r   r   r   _appr    r	   _socketr   r   r6   rE   rK   r4   r   r   <module>r\      sU        ; ;"  &   > 2&N &R$1 $1r   