
    i                     (    d dl Z  G d d          ZdS )    Nc                   0    e Zd ZdZd Zd Zd Zd Zd ZdS )SimpleWebSocketWSGIz|
    This wrapper class provides a threading WebSocket interface that is
    compatible with eventlet's implementation.
    c                 "    || _         || _        d S N)appserver_args)selfhandlerserverkwargss       Q/usr/local/lib/python3.11/dist-packages/engineio/async_drivers/_websocket_wsgi.py__init__zSimpleWebSocketWSGI.__init__	   s    !    c                     t          j        |fi | j        | _        |                     |           }| j        j        dk    rt                      |S )Ngunicorn)simple_websocketServerr   wsr   modeStopIteration)r	   environstart_responserets       r   __call__zSimpleWebSocketWSGI.__call__   sL    ")'FFT5EFFhhtnn7<:%%//!
r   c                 T    | j         j        r| j                                          d S d S r   )r   	connectedcloser	   s    r   r   zSimpleWebSocketWSGI.close   s,    7 	GMMOOOOO	 	r   c                 z    	 | j                             |          S # t          j        $ r t	                      w xY wr   )r   sendr   ConnectionClosedOSError)r	   messages     r   r    zSimpleWebSocketWSGI.send   sB    	7<<(((0 	 	 	))O	s    :c                 b    	 | j                                         S # t          j        $ r Y d S w xY wr   )r   receiver   r!   r   s    r   waitzSimpleWebSocketWSGI.wait   s>    	7??$$$0 	 	 	44	s    ..N)	__name__
__module____qualname____doc__r   r   r   r    r&    r   r   r   r      si         " " "          r   r   )r   r   r+   r   r   <module>r,      sC                r   