
    9Cg
                    6   d dl mZ d dlZd dlmZm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 ej        dk    r	d dlmZmZ nd dlmZmZ erd	d
lmZ  ed          Z edd          Z ed          Z G d dee                   Z G d de          ZdS )    )annotationsN)ABCMetaabstractmethod)	AwaitableCallable)TracebackType)TYPE_CHECKINGAnyProtocolTypeVaroverload)      )TypeVarTupleUnpack   )CancelScopeT_RetvalT_contraT)contravariantPosArgsTc                  H    e Zd Zedd            Zedd            ZdddZd	S )
TaskStatusselfTaskStatus[None]returnNonec                    d S N r   s    B/var/www/api/venv/lib/python3.11/site-packages/anyio/abc/_tasks.pystartedzTaskStatus.started   s    14    valuer   c                    d S r   r    r   r%   s     r"   r#   zTaskStatus.started   s    03r$   NT_contra | Nonec                    dS )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   r   r   r   )r%   r   r   r   r   )r%   r(   r   r   )__name__
__module____qualname__r   r#   r    r$   r"   r   r      sY        444 X4333 X3      r$   r   c                      e Zd ZU dZded<   edddd            Zedddd            Zedd            Zedd            Z	dS )	TaskGroupz
    Groups several asynchronous tasks together.

    :ivar cancel_scope: the cancel scope inherited by all child tasks
    :vartype cancel_scope: CancelScope
    r   cancel_scopeN)namefunc,Callable[[Unpack[PosArgsT]], Awaitable[Any]]argsUnpack[PosArgsT]r1   objectr   r   c                   dS )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    r   r2   r1   r4   s       r"   
start_soonzTaskGroup.start_soon/   r*   r$   Callable[..., Awaitable[Any]]r
   c               
   K   dS )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    r8   s       r"   startzTaskGroup.start@   
        r$   c                
   K   dS )z:Enter the task group context and allow starting new tasks.Nr    r!   s    r"   
__aenter__zTaskGroup.__aenter__T   r=   r$   exc_typetype[BaseException] | Noneexc_valBaseException | Noneexc_tbTracebackType | Nonebool | Nonec                
   K   dS )z<Exit the task group context waiting for all tasks to finish.Nr    )r   r@   rB   rD   s       r"   	__aexit__zTaskGroup.__aexit__X   r=   r$   )r2   r3   r4   r5   r1   r6   r   r   )r2   r:   r4   r6   r1   r6   r   r
   )r   r/   )r@   rA   rB   rC   rD   rE   r   rF   )
r+   r,   r-   __doc____annotations__r   r9   r<   r?   rH   r    r$   r"   r/   r/   %   s           
 	     ^  
 	     ^& I I I ^I K K K ^K K Kr$   r/   )	metaclass)
__future__r   sysabcr   r   collections.abcr   r   typesr   typingr	   r
   r   r   r   version_infor   r   typing_extensions_core._tasksr   r   r   r   r   r/   r    r$   r"   <module>rU      s   " " " " " " 



 ' ' ' ' ' ' ' ' / / / / / / / /       B B B B B B B B B B B B B Bw+++++++++66666666 +******7:7:T222<
##    (#   :K :K :K :K :K' :K :K :K :K :K :Kr$   