AlkantarClanX12

Your IP : 18.221.192.248


Current Path : /proc/self/root/opt/alt/python311/lib64/python3.11/asyncio/__pycache__/
Upload File :
Current File : //proc/self/root/opt/alt/python311/lib64/python3.11/asyncio/__pycache__/timeouts.cpython-311.pyc

�

c��f�����ddlZddlmZddlmZmZmZddlmZddlm	Z	ddlm
Z
dZGd	�d
ej��Z
eGd�d����Zd
eedefd�Zdeedefd�ZdS)�N)�
TracebackType)�final�Optional�Type�)�events)�
exceptions)�tasks)�Timeout�timeout�
timeout_atc�"�eZdZdZdZdZdZdZdS)�_State�created�active�expiring�expired�finishedN)�__name__�
__module__�__qualname__�CREATED�ENTERED�EXPIRING�EXPIRED�EXITED���7/opt/alt/python311/lib64/python3.11/asyncio/timeouts.pyrrs'�������G��G��H��G�
�F�F�Frrc	���eZdZdZdeeddfd�Zdeefd�Zdeeddfd�Zde	fd�Z
defd	�Zdd
�Z
deeedeed
eedee	fd�Zdd�ZdS)rz�Asynchronous context manager for cancelling overdue coroutines.

    Use `timeout()` or `timeout_at()` rather than instantiating this class directly.
    �when�returnNc�R�tj|_d|_d|_||_dS)z�Schedule a timeout that will trigger at a given loop time.

        - If `when` is `None`, the timeout will never trigger.
        - If `when < loop.time()`, the timeout will trigger on the next
          iteration of the event loop.
        N)rr�_state�_timeout_handler�_task�_when)�selfr!s  r�__init__zTimeout.__init__!s'���n���>B���+/��
���
�
�
rc��|jS)zReturn the current deadline.)r'�r(s rr!zTimeout.when.s
���z�rc���|jtjur?|jtjurt	d���t	d|jj�d����||_|j�|j���|�	d|_dStj
��}||���kr!|�|j
��|_dS|�||j
��|_dS)zReschedule the timeout.zTimeout has not been enteredzCannot change state of z TimeoutN)r$rrr�RuntimeError�valuer'r%�cancelr�get_running_loop�time�	call_soon�_on_timeout�call_at)r(r!�loops   r�
reschedulezTimeout.reschedule2s����;�f�n�,�,��{�f�n�,�,�"�#A�B�B�B��E�$�+�*;�E�E�E���
���
�� �,��!�(�(�*�*�*��<�$(�D�!�!�!��*�,�,�D��t�y�y�{�{�"�"�(,���t�7G�(H�(H��%�%�%�(,���T�4�;K�(L�(L��%�%�%rc�@�|jtjtjfvS)z$Is timeout expired during execution?)r$rrrr+s rrzTimeout.expiredIs���{�v����?�?�?rc���dg}|jtjur6|j�t	|jd��nd}|�d|����d�|��}d|jj�d|�d�S)N��zwhen=� z
<Timeout [�]�>)r$rrr'�round�append�joinr.)r(�infor!�info_strs    r�__repr__zTimeout.__repr__Msz���t���;�&�.�(�(�+/�:�+A�5���Q�'�'�'�t�D��K�K�����'�'�'��8�8�D�>�>��;�D�K�-�;�;��;�;�;�;rc��6K�|jtjurtd���t	j��}|�td���tj|_||_|j���|_	|�
|j��|S)Nz Timeout has already been enteredz$Timeout should be used inside a task)r$rrr-r
�current_taskrr&�
cancelling�_cancellingr6r')r(�tasks  r�
__aenter__zTimeout.__aenter__Us������;�f�n�,�,��A�B�B�B��!�#�#���<��E�F�F�F��n�����
��:�0�0�2�2�������
�#�#�#��r�exc_type�exc_val�exc_tbc��K�|jtjtjfvsJ�|j� |j���d|_|jtjurJtj|_|j���|j	kr|tjurt|�n$|jtjurtj
|_dS�N)r$rrrr%r/rr&�uncancelrGr	�CancelledError�TimeoutErrorr)r(rJrKrLs    r�	__aexit__zTimeout.__aexit__as������{�v�~�v��?�?�?�?�?�� �,��!�(�(�*�*�*�$(�D�!��;�&�/�)�)� �.�D�K��z�"�"�$�$��(8�8�8�X��Ib�=b�=b�#��/��
�[�F�N�
*�
*� �-�D�K��trc��|jtjusJ�|j���tj|_d|_dSrN)r$rrr&r/rr%r+s rr3zTimeout._on_timeoutysB���{�f�n�,�,�,�,��
�������o��� $����r)r"r)r"N)rrr�__doc__r�floatr)r!r6�boolr�strrCrIr�
BaseExceptionrrRr3rrrrrsD��������
�X�e�_��������h�u�o�����M�x���M�4�M�M�M�M�.@��@�@�@�@�<�#�<�<�<�<�
�
�
�
���4�
�.�/���-�(����'�	�

�$������0%�%�%�%�%�%rr�delayr"c�x�tj��}t|�|���|znd��S)a	Timeout async context manager.

    Useful in cases when you want to apply timeout logic around block
    of code or in cases when asyncio.wait_for is not suitable. For example:

    >>> async with asyncio.timeout(10):  # 10 seconds timeout
    ...     await long_running_task()


    delay - value in seconds or None to disable timeout logic

    long_running_task() is interrupted by raising asyncio.CancelledError,
    the top-most affected timeout() context manager converts CancelledError
    into TimeoutError.
    N)rr0rr1)rYr5s  rrr�s7�� �"�$�$�D��%�*;�4�9�9�;�;��&�&��F�F�Frr!c� �t|��S)abSchedule the timeout at absolute time.

    Like timeout() but argument gives absolute time in the same clock system
    as loop.time().

    Please note: it is not POSIX time but a time with
    undefined starting base, e.g. the time of the system power on.

    >>> async with asyncio.timeout_at(loop.time() + 10):
    ...     await long_running_task()


    when - a deadline when timeout occurs or None to disable timeout logic

    long_running_task() is interrupted by raising asyncio.CancelledError,
    the top-most affected timeout() context manager converts CancelledError
    into TimeoutError.
    )r)r!s rr
r
�s��&�4�=�=�r)�enum�typesr�typingrrrr9rr	r
�__all__�EnumrrrUrr
rrr�<module>ras@������������(�(�(�(�(�(�(�(�(�(��������������������������T�Y�����c%�c%�c%�c%�c%�c%�c%���c%�LG�8�E�?�G�w�G�G�G�G�(�X�e�_��������r