
    +hU                        d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZmZmZ d dlmZ ej"                  dk\  rd dlmZ nd dlmZ e	rd d	lmZ  ed
      Z edd      Z G d dee         Z G d de      Zy)    )annotationsN)ABCMetaabstractmethod)TracebackType)TYPE_CHECKINGAny	AwaitableCallableTypeVaroverload)warn)      )Protocol)CancelScopeT_RetvalT_contraT)contravariantc                  :    e Zd Zedd       Zedd       ZdddZy)	
TaskStatusc                     y N selfs    C/var/www/html/venv/lib/python3.12/site-packages/anyio/abc/_tasks.pystartedzTaskStatus.started           c                     y r   r   r   values     r   r   zTaskStatus.started   r   r   Nc                     y)zx
        Signal that the task has started.

        :param value: object passed back to the starter of the task
        Nr   r!   s     r   r   zTaskStatus.started       r   )r   zTaskStatus[None]returnNone)r"   r   r%   r&   r   )r"   zT_contra | Noner%   r&   )__name__
__module____qualname__r   r   r   r   r   r   r      s-       r   r   c                      e Zd ZU dZded<   dd	 	 	 	 	 	 	 ddZedd	 	 	 	 	 	 	 dd       Zedd	 	 	 	 	 	 	 dd       Zedd	       Z	e	 	 	 	 	 	 	 	 dd
       Z
y)	TaskGroupz
    Groups several asynchronous tasks together.

    :ivar cancel_scope: the cancel scope inherited by all child tasks
    :vartype cancel_scope: CancelScope
    r   cancel_scopeN)namec               X   K   t        dt                | j                  |g|d|i yw)a  
        Start a new task in this task group.

        :param func: a coroutine function
        :param args: positional arguments to call the function with
        :param name: name of the task, for the purposes of introspection and debugging

        .. deprecated:: 3.0
           Use :meth:`start_soon` instead. If your code needs AnyIO 2 compatibility, you
           can keep using this until AnyIO 4.

        zGspawn() is deprecated -- use start_soon() (without the "await") insteadr-   N)r   DeprecationWarning
start_soonr   funcr-   argss       r   spawnzTaskGroup.spawn0   s0     $ 	U	
 	/t/$/s   (*c                    y)a  
        Start a new task in this task group.

        :param func: a coroutine function
        :param args: positional arguments to call the function with
        :param name: name of the task, for the purposes of introspection and debugging

        .. versionadded:: 3.0
        Nr   r1   s       r   r0   zTaskGroup.start_soonH   r$   r   c                  K   yw)a  
        Start a new task and wait until it signals for readiness.

        :param func: a coroutine function
        :param args: positional arguments to call the function with
        :param name: name of the task, for the purposes of introspection and debugging
        :return: the value passed to ``task_status.started()``
        :raises RuntimeError: if the task finishes without calling ``task_status.started()``

        .. versionadded:: 3.0
        Nr   r1   s       r   startzTaskGroup.startY           c                   K   yw)z:Enter the task group context and allow starting new tasks.Nr   r   s    r   
__aenter__zTaskGroup.__aenter__l   r8   r9   c                   K   yw)z<Exit the task group context waiting for all tasks to finish.Nr   )r   exc_typeexc_valexc_tbs       r   	__aexit__zTaskGroup.__aexit__p   r8   r9   )r2   Callable[..., Awaitable[Any]]r3   objectr-   rB   r%   r&   )r2   rA   r3   rB   r-   rB   r%   r   )r%   r+   )r=   ztype[BaseException] | Noner>   zBaseException | Noner?   zTracebackType | Noner%   zbool | None)r'   r(   r)   __doc____annotations__r4   r   r0   r7   r;   r@   r   r   r   r+   r+   &   s     	0+0 0 	0
 
00 
 	+  	
 
   
 	+  	
 
 $ I I K,K &K %	K
 
K Kr   r+   )	metaclass)
__future__r   sysabcr   r   typesr   typingr   r   r	   r
   r   r   warningsr   version_infor   typing_extensionsanyio._core._tasksr   r   r   r   r+   r   r   r   <module>rO      sk    " 
 '  M M v*.::T2(# "QK' QKr   