�
���gf( � �l � d dl Z d dlZddlmZ ddlmZ ddlmZ ddlmZ G d� dej � � ZdS ) � N� )�base_socket)�
exceptions)�packet)�payloadc �V � e Zd ZdZd� Zd� Zd� Zd� Zd� Zd� Z dd�Z
d� Zd
� Zd� Z
d� Zd
S )�SocketzAn Engine.IO socket.c � � | j � � � } | j � | j j | j j z �� � g}| j � � � n# |$ r t j � � �w xY w|dgk rg S | j � d�� � }| j � � � |�| j � d� � n"|�
|� � n# |$ r Y nw xY w�t|S )z'Wait for packets to send to the client.)�timeoutNTF)�block)�server�get_queue_empty_exception�queue�get�
ping_interval�ping_timeout� task_doner �
QueueEmpty�put�append)�self�queue_empty�packets�pkts �_/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/engineio/socket.py�pollzSocket.poll s1 � ��k�;�;�=�=�� *��z�~�~���1�D�K�4L�L� &� N� N� O�G��J� � �"�"�"�"��� *� *� *��'�)�)�)� *�����t�f����I� �
��j�n�n�5�n�1�1���
�$�$�&�&�&��;��J�N�N�4�(�(�(�����s�#�#�#�#���
�
�
���
���� � �s% �AA( �(B�AC6 � C6 �6C>�=C>c �" � |j t t j � � k rt j |j nd}| j j � d| j |t |j t � � s|j nd� � |j t j k r| � � � d S |j t j
k r4| j � d| j |j | j j �� � d S |j t j k r3| � t j t j � � � � d S |j t j k r)| � dd| j j j �� � d S t1 j � � �)
zReceive packet from the client.�UNKNOWNz%s: Received packet %s data %s�<binary>�message�� run_asyncFT��wait�abort�reasonN)�packet_type�lenr �packet_namesr
�logger�info�sid�
isinstance�data�bytes�PONG�
schedule_ping�MESSAGE�_trigger_event�async_handlers�UPGRADE�send�Packet�NOOP�CLOSE�closer&