File: //proc/1233/cwd/usr/lib/python3/dist-packages/websocket/__pycache__/_socket.cpython-310.pyc
o
���a� � @ s d Z ddlZddlZddlZddlT ddlT ddlT ejejdfgZ e
ed�r2e �ejej
df� e
ed�rAe �ejejdf� e
ed�rPe �ejejd f� e
ed
�r_e �ejejdf� dag d�ZG d
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 @ s e Zd Zdd� ZdS )r c C s. |d u rg }|d u ri }|| _ || _d | _d S �N)�sockopt�sslopt�timeout)�selfr r � r �3/usr/lib/python3/dist-packages/websocket/_socket.py�__init__1 s
zsock_opt.__init__N)�__name__�
__module__�__qualname__r r r r r r / s r c C s | a dS )z�
Set the global timeout setting to connect.
Parameters
----------
timeout: int or float
default socket timeout time (in seconds)
N��_default_timeout)r r r r r
; s
r
c C s t S )z�
Get default timeout
Returns
----------
_default_timeout: int or float
Return the global timeout setting (in seconds) to connect.
r r r r r r H s r c
s� �st d��� �fdd�}z��� dkr��� �}n|� }W n2 tjy3 } zt|�}t|��d }~w tyP } zt|�}t|t �rKd|v rKt|��� d }~ww |sWt d��|S )N�socket is already closed.c
� z�� � �W S ty Y n' tjy5 } zt| �}|d u r � |tjks*|tjkr+� W Y d } ~ nd } ~ ww t� � }|�
�tj� |���
� �}|�� |rS�� � �S d S r )r �SSLWantReadError�socket�error�extract_error_code�errno�EAGAIN�EWOULDBLOCK� selectors�DefaultSelector�register�
EVENT_READ�select�
gettimeout�close)�exc�
error_code�sel�r��bufsize�sockr r �_recvX �( ���
�zrecv.<locals>._recvr � timed outz#Connection to remote host was lost.)
�"WebSocketConnectionClosedExceptionr- r r"