
    wg                          d dl Z  G d d      Zy)    Nc                   .    e Zd ZdZd Zd Zd Zd Zd Zy)SimpleWebSocketWSGIz|
    This wrapper class provides a threading WebSocket interface that is
    compatible with eventlet's implementation.
    c                      || _         || _        y N)appserver_args)selfhandlerserverkwargss       k/home/mcse/projects/flask/flask-venv/lib/python3.12/site-packages/engineio/async_drivers/_websocket_wsgi.py__init__zSimpleWebSocketWSGI.__init__	   s    !    c                     t        j                  |fi | j                  | _        | 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__   sI    "))'FT5E5EFhhtn77<<:%/!
r   c                 f    | j                   j                  r| j                   j                          y y r   )r   	connectedcloser	   s    r   r   zSimpleWebSocketWSGI.close   s!    77GGMMO r   c                 |    	 | j                   j                  |      S # t        j                  $ r t	               w xY wr   )r   sendr   ConnectionClosedOSError)r	   messages     r   r    zSimpleWebSocketWSGI.send   s6    	77<<((00 	)O	s    ;c                 j    	 | j                   j                         S # t        j                  $ r Y y w xY wr   )r   receiver   r!   r   s    r   waitzSimpleWebSocketWSGI.wait   s0    	77??$$00 		s    22N)	__name__
__module____qualname____doc__r   r   r   r    r&    r   r   r   r      s     "r   r   )r   r   r+   r   r   <module>r,      s     r   