Sindbad~EG File Manager
�
�X�f�����ddlZddlmZddlmZmZmZddlmZddlm Z ddlm
Z
dZGd �d
ej�Z
eGd�d��Zd
eedefd�Zdeedefd�Zy)�N)�
TracebackType)�final�Optional�Type�)�events)�
exceptions)�tasks)�Timeout�timeout�
timeout_atc� �eZdZdZdZdZdZdZy)�_State�created�active�expiring�expired�finishedN)�__name__�
__module__�__qualname__�CREATED�ENTERED�EXPIRING�EXPIRED�EXITED���./usr/src/Python-3.12.7/Lib/asyncio/timeouts.pyrrs���G��G��H��G�
�Frrc ��eZdZdZdeeddfd�Zdeefd�Zdeeddfd�Zde fd�Z
defd �Zdd
�Z
deeedeed
eedee fd�Zdd�Zy)rz�Asynchronous context manager for cancelling overdue coroutines.
Use `timeout()` or `timeout_at()` rather than instantiating this class directly.
�when�returnNc�X�tj|_d|_d|_||_y)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�n���>B���+/��
���
rc��|jS)zReturn the current deadline.)r'�r(s rr!zTimeout.when.s���z�z�rc��|jtjurJ|jtjurt d��t d|jj
�d���||_|j�|jj�|�d|_ytj�}||j�kr!|j|j�|_y|j||j�|_y)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�n�,��{�{�f�n�n�,�"�#A�B�B��)�$�+�+�*;�*;�)<�H�E��
���
�� � �,��!�!�(�(�*��<�$(�D�!��*�*�,�D��t�y�y�{�"�(,���t�7G�7G�(H��%�(,���T�4�;K�;K�(L��%rc�Z�|jtjtjfvS)z$Is timeout expired during execution?)r$rrrr+s rrzTimeout.expiredIs���{�{�v������?�?�?rc��dg}|jtjur8|j�t |jd�nd}|jd|���dj
|�}d|jj�d|�d�S)N��zwhen=� z
<Timeout [�]�>)r$rrr'�round�append�joinr.)r(�infor!�info_strs r�__repr__zTimeout.__repr__Mss���t���;�;�&�.�.�(�+/�:�:�+A�5����Q�'�t�D��K�K�%��v��'��8�8�D�>���D�K�K�-�-�.�a��z��;�;rc��JK�|jtjurtd��t j
�}|�td��tj|_||_|jj�|_ |j|j�|S�w)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�n�,��A�B�B��!�!�#���<��E�F�F��n�n�����
��:�:�0�0�2�������
�
�#���s�B!B#�exc_type�exc_val�exc_tbc��K�|jtjtjfvsJ�|j�!|jj�d|_|jtjurVtj|_|jj�|jkr|tjurt|�y|jtjurtj|_y�w�N)r$rrrr%r/rr&�uncancelrGr �CancelledError�TimeoutErrorr)r(rJrKrLs r� __aexit__zTimeout.__aexit__as������{�{�v�~�~�v���?�?�?�?�� � �,��!�!�(�(�*�$(�D�!��;�;�&�/�/�)� �.�.�D�K��z�z�"�"�$��(8�(8�8�X��Ib�Ib�=b�#��/���[�[�F�N�N�
*� �-�-�D�K��s�DDc��|jtjusJ�|jj �tj
|_d|_yrN)r$rrr&r/rr%r+s rr3zTimeout._on_timeoutys;���{�{�f�n�n�,�,�,��
�
�����o�o��� $��r)r"r)r"N)rrr�__doc__r�floatr)r!r6�boolr�strrCrIr�
BaseExceptionrrRr3rrrrrs����
�X�e�_�����h�u�o��M�x���M�4�M�.@��@�<�#�<�
���4�
�.�/���-�(����'� �
�$���0%rr�delayr"c�r�tj�}t|�|j�|z�Sd�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 rrr�s5�� �"�"�$�D��%�*;�4�9�9�;��&�F�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__�EnumrrrUrr
rrr�<module>ras����(�(�������T�Y�Y���c%�c%��c%�LG�8�E�?�G�w�G�(�X�e�_���r
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists