
    &gD                    t    S r SSKJr  SSKrSSKrSSKJrJrJr   " S S\R                  5      r
SS.S	S jjrg)
zA custom asyncio.Task that allows checking if a task has been sent a cancellation request.
Can be removed once we drop Python 3.10 support in favor of asyncio.Task.cancelling.    )annotationsN)Any	CoroutineOptionalc                  \   ^  \ rS rSrSS.S	U 4S jjjrS
SU 4S jjjrSS jrSS jrSrU =r	$ )_Task   Nnamec               Z   > [         TU ]  XS9  SU l        [        R                  " U 5        g )Nr
   r   )super__init___cancel_requestsasyncio_register_task)selfcoror   	__class__s      ZC:\Suresh\moveshuttle\MDcreated\moveengine\venv\Lib\site-packages\pymongo/_asyncio_task.pyr   _Task.__init__   s)    ) !t$    c                H   > U =R                   S-  sl         [        TU ]	  US9$ )N   )msg)r   r   cancel)r   r   r   s     r   r   _Task.cancel!   s%    "w~#~&&r   c                d    U R                   S:  a  U =R                   S-  sl         U R                   $ )Nr   r   r   r   s    r   uncancel_Task.uncancel%   s-      1$!!Q&!$$$r   c                    U R                   $ Nr   r   s    r   
cancelling_Task.cancelling*   s    $$$r   r   )r   Coroutine[Any, Any, Any]r   Optional[str]returnNoner#   )r   r'   r(   bool)r(   int)
__name__
__module____qualname____firstlineno__r   r   r    r$   __static_attributes____classcell__)r   s   @r   r   r      s)    PT % %
' '%
% %r   r   r
   c               d    [         R                  S:  a  [        R                  " XS9$ [	        XS9$ )N)      r
   )sysversion_infor   create_taskr   )r   r   s     r   r7   r7   .   s,    
7"""433!!r   )r   r&   r   r'   r(   zasyncio.Task)__doc__
__future__r   r   r5   typingr   r   r   Taskr   r7    r   r   <module>r=      s=   X #  
 + +%GLL %& JN " "r   