
    i                         S SK Jr  S SKJrJrJr  S SKJr   " S S5      r	 " S S\5      r\	\R                  \R                  \\\S.rg	)
    )Event)queuesleepspawn)WebSocketWSGIc                   .    \ rS rSrSrSS jrS rS rSrg)	EventletThread   zThread class that uses eventlet green threads.

Eventlet's own Thread class has a strange bug that causes _DummyThread
objects to be created and leaked, since they are never garbage collected.
Nc                 ^    Xl         U=(       d    SU l        U=(       d    0 U l        S U l        g )N )targetargskwargsg)selfr   r   r   s       \/home/admin/cozy_coffee/venv/lib/python3.13/site-packages/engineio/async_drivers/eventlet.py__init__EventletThread.__init__   s$    JB	l    c                 h    [        U R                  /U R                  Q70 U R                  D6U l        g N)r   r   r   r   r   r   s    r   startEventletThread.start   s$    t{{>TYY>$++>r   c                 Z    U R                   (       a  U R                   R                  5       $ g r   )r   waitr   s    r   joinEventletThread.join   s    6666;;=  r   )r   r   r   r   )NN)	__name__
__module____qualname____firstlineno____doc__r   r   r   __static_attributes__r   r   r   r	   r	      s    
?!r   r	   c                   4   ^  \ rS rSrU 4S jrU 4S jrSrU =r$ )r      c                    >  [         TU ]  U[        UR                  5      S9  S U l        g ! [         a    [         TU ]  U5         N#f = f)N)max_frame_length)superr   intmax_http_buffer_size	TypeError_sock)r   handlerserver	__class__s      r   r   WebSocketWSGI.__init__   sR    	&G#f.I.I*J  L
 
  	&GW%	&s   !, AAc                 t   > SU;  a  [        S5      eUS   R                  5       U l        [        TU ]  X5      $ )Nzeventlet.inputzjYou need to use the eventlet server. See the Deployment section of the documentation for more information.)RuntimeError
get_socketr-   r)   __call__)r   environstart_responser0   s      r   r5   WebSocketWSGI.__call__$   sH    7*  E F F -.99;
w88r   )r-   )r   r    r!   r"   r   r5   r$   __classcell__)r0   s   @r   r   r      s    9 9r   r   )threadr   queue_emptyevent	websocketr   N)eventlet.green.threadingr   eventletr   r   r   eventlet.websocketr   _WebSocketWSGIr	   QueueEmpty_asyncr   r   r   <module>rE      sJ    * ( ( >! !(9N 9( [[;;
r   