
    h.                       S r SSKJr  SSKJr   " S S\5      r " S S\5      r " S S	\5      r	 " S
 S\5      r
 " S S\5      r " S S\	5      r " S S\	5      r " S S\	\5      rSS jrSqSq " S S\5      r S   SS jjr/ SQrg)z 0MQ Error classes and functions.    )annotations)EINTRc                  0   ^  \ rS rSrSrSU 4S jjrSrU =r$ )DraftFDWarning
   zJWarning for using experimental FD on draft sockets.

.. versionadded:: 27
c                6   > U(       d  Sn[         TU ]  U5        g )Na!  pyzmq's back-fill socket.FD support on thread-safe sockets is experimental, and may be removed. This warning will go away automatically if/when libzmq implements socket.FD on thread-safe sockets. You can suppress this warning with `warnings.simplefilter('ignore', zmq.error.DraftFDWarning))super__init__)selfmsg	__class__s     \C:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\zmq/error.pyr
   DraftFDWarning.__init__   s     q 
 	     ) __name__
__module____qualname____firstlineno____doc__r
   __static_attributes____classcell__r   s   @r   r   r   
   s    
 r   r   c                      \ rS rSrSrSrg)ZMQBaseError   z.Base exception class for 0MQ errors in Python.r   Nr   r   r   r   r   r   r   r   r   r   r      s    8r   r   c                  T    \ rS rSr% SrSrS\S'   S\S'   SSS jjrSS	 jrSS
 jr	Sr
g)ZMQError   zWrap an errno style error.

Parameters
----------
errno : int
    The ZMQ errno or None.  If None, then ``zmq_errno()`` is called and
    used.
msg : str
    Description of the error or None.
N
int | Noneerrnostrstrerrorc                    SSK JnJn  Uc  U" 5       n[        U[        5      (       a  Xl        Uc  U" U5      U l        gX l        gUc  [        U5      U l        gX l        g)zWrap an errno style error.

Parameters
----------
errno : int
    The ZMQ errno or None.  If None, then ``zmq_errno()`` is called and
    used.
msg : string
    Description of the error or None.
r   )r&   	zmq_errnoN)zmq.backendr&   r(   
isinstanceintr$   r%   )r   r$   r   r&   r(   s        r   r
   ZMQError.__init__-   sO     	4=KEeS!!J{ ( #{ #E
 #r   c                    U R                   $ N)r&   r   s    r   __str__ZMQError.__str__M   s    }}r   c                L    U R                   R                   S[        U 5       S3$ )Nz(''))r   r   r%   r/   s    r   __repr__ZMQError.__repr__P   s$    ..))*"SYKr::r   )r$   r&   )NN)r$   r#   r   z
str | None)returnr%   )r   r   r   r   r   r$   __annotations__r
   r0   r4   r   r   r   r   r!   r!      s(    	 E:M$@;r   r!   c                      \ rS rSrSrSrg)ZMQBindErrorT   z^An error for ``Socket.bind_to_random_port()``.

See Also
--------
.Socket.bind_to_random_port
r   Nr   r   r   r   r9   r9   T       r   r9   c                      \ rS rSrSrSrg)NotDone]   zRaised when timeout is reached while waiting for 0MQ to finish with a Message

See Also
--------
.MessageTracker.wait : object for tracking when ZeroMQ is done
r   Nr   r   r   r   r=   r=   ]   r;   r   r=   c                  0   ^  \ rS rSrSrSU 4S jjrSrU =r$ )ContextTerminatedf   z.Wrapper for zmq.ETERM

.. versionadded:: 13.0
c                0   > SSK Jn  [        TU ]  U5        g )Nr   )ETERM)zmqrC   r	   r
   )r   r$   r   rC   r   s       r   r
   ContextTerminated.__init__l   s    r   r   ignoredrG   r   r   s   @r   r@   r@   f   s    
   r   r@   c                  0   ^  \ rS rSrSrSU 4S jjrSrU =r$ )Againr   z/Wrapper for zmq.EAGAIN

.. versionadded:: 13.0
c                0   > SSK Jn  [        TU ]  U5        g )Nr   )EAGAIN)rD   rL   r	   r
   )r   r$   r   rL   r   s       r   r
   Again.__init__x   s     r   r   rF   r   r   s   @r   rI   rI   r   s    
! !r   rI   c                  L   ^  \ rS rSr% Sr\rS\S'   SU 4S jjrU 4S jr	Sr
U =r$ )	InterruptedSystemCall~   zWrapper for EINTR

This exception should be caught internally in pyzmq
to retry system calls, and not propagate to the user.

.. versionadded:: 14.7
r%   r&   c                ,   > [         TU ]  [        5        g r.   )r	   r
   r   )r   r$   r   r   s      r   r
   InterruptedSystemCall.__init__   s    r   c                *   > [         TU ]  5       nUS-   $ )NzB: This call should have been retried. Please report this to pyzmq.)r	   r0   )r   sr   s     r   r0   InterruptedSystemCall.__str__   s    GOWWWr   r   rF   )r   r   r   r   r   r   r$   r7   r
   r0   r   r   r   s   @r   rO   rO   ~   s%     EM X Xr   rO   Nc                    U S:X  af  Uc  SSK Jn  U" 5       nUS:X  a  U(       d  gSSKJnJn  U[
        :X  a  [        U5      eX:X  a  [        U5      eX:X  a  [        U5      e[        U5      eg)z`internal utility for checking zmq return condition

and raising the appropriate Exception class
Nr   )r(   )rL   rC   )
r)   r(   rD   rL   rC   r   rO   rI   r@   r!   )rcr$   error_without_errnor(   rL   rC   s         r   	_check_rcrZ      sj    
 
Rx=-KEA:1%E>'.._,^#E**5/!! r   c                  6    \ rS rSrSrSrSS	S jjrS rS rSr	g)
ZMQVersionError   z_Raised when a feature is not provided by the linked version of libzmq.

.. versionadded:: 14.2
Nc                Z    [         c  SSKJn  U" 5       q X l        Xl        [         U l        g )Nr   )zmq_version)_zmq_versionrD   r_   r   min_versionversion)r   ra   r   r_   s       r   r
   ZMQVersionError.__init__   s$    '&=L&#r   c                     S[        U 5       S3$ )NzZMQVersionError('r3   r%   r/   s    r   r4   ZMQVersionError.__repr__   s    "3t9+R00r   c                R    U R                    SU R                   SU R                   3$ )Nz requires libzmq >= z, have )r   ra   rb   r/   s    r   r0   ZMQVersionError.__str__   s)    ((/0@0@/AWWr   )ra   r   rb   Feature)ra   r%   r   r%   )
r   r   r   r   r   ra   r
   r4   r0   r   r   r   r   r\   r\      s    
 K$1Xr   r\   c                    [         c  SSKJn  U" 5       q [         U :  a#  SR                  S U  5       5      n[	        X15      eg)zCheck for libzmq

raises ZMQVersionError if current zmq version is not at least min_version

min_version_info is a tuple of integers, and will be compared against zmq.zmq_version_info().
Nr   )zmq_version_info.c              3  8   #    U  H  n[        U5      v   M     g 7fr.   re   ).0vs     r   	<genexpr>!_check_version.<locals>.<genexpr>   s     @/?!s1vv/?s   )_zmq_version_inforD   rl   joinr\   )min_version_infor   rl   ra   s       r   _check_versionrv      sD      (,.++hh@/?@@k// ,r   )	r   r   r9   r!   r=   r@   rO   rI   r\   )NTri   )ru   z3tuple[int] | tuple[int, int] | tuple[int, int, int]r   r%   )r   
__future__r   r$   r   RuntimeWarningr   	Exceptionr   r!   r9   r=   r@   rI   InterruptedErrorrO   rZ   rs   r`   NotImplementedErrorr\   rv   __all__r   r   r   <module>r}      s    & # ^  99 93;| 3;l< l 	  	 	!H 	!XH&6 X("0  X) X6 0I0	0(
r   