HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //proc/1233/cwd/usr/lib/python3/dist-packages/websocket/__pycache__/_socket.cpython-310.pyc
o

���a��@sdZ	ddlZddlZddlZddlTddlTddlTejejdfgZ	e
ed�r2e	�ejej
df�e
ed�rAe	�ejejdf�e
ed�rPe	�ejejd	f�e
ed
�r_e	�ejejdf�dagd�ZGd
d�d�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)z

�N�)�*�SO_KEEPALIVE�TCP_KEEPIDLE��
TCP_KEEPINTVL�
�TCP_KEEPCNT�)�DEFAULT_SOCKET_OPTION�sock_opt�setdefaulttimeout�getdefaulttimeout�recv�	recv_line�sendc@seZdZdd�ZdS)rcCs.|durg}|duri}||_||_d|_dS�N)�sockopt�sslopt�timeout)�selfrr�r�3/usr/lib/python3/dist-packages/websocket/_socket.py�__init__1s
zsock_opt.__init__N)�__name__�
__module__�__qualname__rrrrrr/srcCs|adS)z�
    Set the global timeout setting to connect.

    Parameters
    ----------
    timeout: int or float
        default socket timeout time (in seconds)
    N��_default_timeout)rrrrr
;s
r
cCstS)z�
    Get default timeout

    Returns
    ----------
    _default_timeout: int or float
        Return the global timeout setting (in seconds) to connect.
    rrrrrrHs	rc
s��std����fdd�}z���dkr����}n|�}Wn2tjy3}zt|�}t|��d}~wtyP}zt|�}t|t	�rKd|vrKt|���d}~ww|sWtd��|S)N�socket is already closed.c
�z����WStyYn'tjy5}zt|�}|dur �|tjks*|tjkr+�WYd}~nd}~wwt�	�}|�
�tj�|���
��}|��|rS����SdSr)r�SSLWantReadError�socket�error�extract_error_code�errno�EAGAIN�EWOULDBLOCK�	selectors�DefaultSelector�register�
EVENT_READ�select�
gettimeout�close)�exc�
error_code�sel�r��bufsize�sockrr�_recvX�(���
�zrecv.<locals>._recvr�	timed outz#Connection to remote host was lost.)
�"WebSocketConnectionClosedExceptionr-rr"r�extract_err_message�WebSocketTimeoutException�SSLError�
isinstance�str)r5r4r6�bytes_�e�messagerr3rrTs0�����rcCs0g}	t|d�}|�|�|dkrnqd�|�S)NTr�
�)r�append�join)r5�line�crrrr�s

�
rc
s�t�t�r
��d���std����fdd�}z���dkr$����WS|�WStjy<}zt|�}t	|��d}~wt
yY}zt|�}t|t�rTd|vrTt	|���d}~ww)Nzutf-8rc
r r)r�SSLWantWriteErrorr"r#r$r%r&r'r(r)r*�EVENT_WRITEr,r-r.)r/r0r1�w��datar5rr�_send�r7zsend.<locals>._sendrr8)r=r>�encoder9r-rr"rr:r;�	Exception)r5rLrMr@rArrKrr�s(

���r)�__doc__r%r(r"�_exceptions�_ssl_compat�_utils�SOL_TCP�TCP_NODELAYr�hasattrrD�
SOL_SOCKETrrrr	r�__all__rr
rrrrrrrr�<module>s2




/