o
    i                     @   sh   d dl Z d dlZ d dlmZ d dlmZ eZd dlZejddgddd Z	d	d
 Z
dd Zdd ZdS )    N)require_zmq_4)recv_monitor_messagezmqasyncio)paramsc                 C   s   | j dkr	tjjS tjS )Nr   )paramr   r   Context)request
event_loop r   Q/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/zmq/tests/test_monitor.pyr      s   
r   c                    s  |t j}|t j}|d |dt jt jB t jB  |t j}|	d d|_
|	d t|}t| t jjr?|I dH }|d t jkr^|d dksNJ t|}t| t jjr^|I dH }|d t jksgJ |d dksoJ |  t|}t| t jjr|I dH }|d t jksJ dS )z&Test monitoring interface for sockets.ztcp://127.0.0.1:6666zinproc://monitor.repr   Neventendpoints   tcp://127.0.0.1:6666)r   REPREQbindmonitorEVENT_CONNECT_DELAYEDEVENT_CONNECTEDEVENT_MONITOR_STOPPEDPAIRconnectlingerr   
isinstancer   r   disable_monitor)contextsockets_reps_reqs_eventmr   r   r   test_monitor   s6   








r!   c                    s   |t j}| }|| | }||u sJ |  t|}t| t jjr-|I d H }|d t j	ks6J |
  |
  d S )Nr   )r   PULLget_monitor_socketappendr   r   r   r   r   r   close)r   r   socketssr    m2evtr   r   r   test_monitor_repeat9   s   


r*   c                    s   |t j}|t j}|d | }d|_|| |d t|}t	| t j
jr1|I dH }|d t jkrP|d dks@J t|}t	| t j
jrP|I dH }|d t jksYJ |d dksaJ dS )z!Test connected monitoring socket.ztcp://127.0.0.1:6667r   Nr   r   s   tcp://127.0.0.1:6667)r   r   r   r   r#   r   r$   r   r   r   r   r   r   r   )r   r   r&   r   r   r   r    r   r   r   test_monitor_connectedH   s$   






r+   )r   zmq.asyncio	zmq.testsr   zmq.utils.monitorr   
pytestmarkpytestfixturer   r!   r*   r+   r   r   r   r   <module>   s   
$