
    ih                     L    d dl mZmZmZ ddlmZ eddfdZeddfdZedfdZy	)
    )absolute_importprint_functiondivision   )DEFAULT_BIND_ADDR_TUPLE2   Tc                     ddl m}m}m} |r'	 | j	                  ||| j                  ||      dz         | j                  |       || j                  |       y y # |$ r Y -w xY w)Nr   )
SOL_SOCKETSO_REUSEADDRerrorr   )socketr
   r   r   
setsockopt
getsockoptbindlisten)sockaddressbacklog
reuse_addrr
   r   r   s          T/var/www/html/dev/engine/venv/lib/python3.12/site-packages/gevent/testing/sockets.pybind_and_listenr      sm    66	OOJ OOJEIK 	IIgG   		s   &A A"!A"c                 P    ddl m} |j                         }t        || ||       |S )zKA shortcut to create a TCP socket, bind it and put it into listening state.r   r   r   r   )geventr   r   )r   r   r   r   r   s        r   tcp_listenerr   %   s#    ==?DD'7zJK    c                 |    ddl m} |j                  |j                  |j                        }t	        || d|       |S )zKA shortcut to create a UDF socket, bind it and put it into listening state.r   r   Nr   )r   r   AF_INET
SOCK_DGRAMr   )r   r   r   r   s       r   udp_listenerr!   ,   s2    ==):):;DD'4JGKr   N)	
__future__r   r   r   paramsr   r   r   r!    r   r   <module>r%      s8   ( A @ +"92RV 
 1"  1T r   