
    ՟f%                       U d dl mZ d dlZd dlZd dlmZmZ d dlmZm	Z	m
Z
mZ d dlmZ d dlmZ d dlmZ d dlmZmZmZ d d	lmZmZmZmZmZmZ ej8                  d
k\  r	d dlmZmZ nd dlmZmZ ej8                  dk\  rd dlm Z  nd dlm Z  erDddl!m"Z"m#Z#m$Z$m%Z% ddl&m'Z' ddl(m)Z) ddl*m+Z+ ddl,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6 ddl7m8Z8 ddl9m:Z:  ed      Z; ed      Z<ee=e>ddf   Z?de@d<    G d de       ZAy)!    )annotationsN)ABCMetaabstractmethod)AsyncIterator	AwaitableCallableSequence)AbstractContextManager)PathLike)Signals)AddressFamily
SocketKindsocket)IOTYPE_CHECKINGAnyTypeVarUnionoverload)      )TypeVarTupleUnpack)r   
   )	TypeAlias   )CapacityLimiterEventLock	Semaphore)CancelScope)TaskInfo)BlockingPortal   )ConnectedUDPSocketConnectedUNIXDatagramSocketIPSockAddrTypeSocketListenerSocketStream	UDPSocketUNIXDatagramSocketUNIXSocketStream)Process)	TaskGroup)
TestRunnerT_RetvalPosArgsTzPathLike[str]zPathLike[bytes]r   StrOrBytesPathc                  ~   e Zd Zee	 	 	 	 	 	 	 	 	 	 d/d              Zeed0d              Zeed1d              Zeed2d              Zeed3d              Z	ed3d       Z
ed3d       Zeed4d              Zeeej                  d	d
	 	 	 	 	 d5d              Zeed1d              Zeed6d              Zeed7d              Zeed8d              Zeedd	d	 	 	 	 	 	 	 d9d              Zeed:d              Zee	 	 d;	 	 	 	 	 	 	 	 	 d<d              Zeed3d              Zee	 	 	 	 	 	 	 	 d=d              Zee	 	 	 	 	 	 	 	 d>d              Zeed?d              Zee	 	 	 	 	 	 	 	 	 	 	 	 d@d              ZeedAd              Zee	 dB	 	 	 	 	 	 	 dCd              ZeedDd              ZeedEd              ZeedEd              Z ee	 	 	 	 	 	 	 	 	 	 dFd              Z!ee"	 	 	 	 	 	 dGd               Z#ee"	 	 	 	 	 	 dHd!              Z#ee	 	 	 	 	 	 dId"              Z#eed#d#d#d#d$	 	 	 	 	 	 	 	 	 	 	 	 	 dJd%              Z$ee	 dK	 	 	 	 	 dLd&              Z%eedMd'              Z&eedMd(              Z'eedNd)              Z(ee	 	 	 	 dOd*              Z)eedPd+              Z*eedQd,              Z+eed3d-              Z,eedRd.              Z-y)SAsyncBackendc                     y)a  
        Run the given coroutine function in an asynchronous event loop.

        The current thread must not be already running an event loop.

        :param func: a coroutine function
        :param args: positional arguments to ``func``
        :param kwargs: positional arguments to ``func``
        :param options: keyword arguments to call the backend ``run()`` implementation
            with
        :return: the return value of the coroutine function
        N )clsfuncargskwargsoptionss        O/var/www/cvtools/html/venv/lib/python3.12/site-packages/anyio/abc/_eventloop.pyrunzAsyncBackend.run7           c                     y)z

        :return:
        Nr6   r7   s    r<   current_tokenzAsyncBackend.current_tokenM   r>   r?   c                     y)zz
        Return the current value of the event loop's internal clock.

        :return: the clock value (seconds)
        Nr6   rA   s    r<   current_timezAsyncBackend.current_timeU   r>   r?   c                     y)zFReturn the exception class that is raised in a task if it's cancelled.Nr6   rA   s    r<   cancelled_exception_classz&AsyncBackend.cancelled_exception_class^   r>   r?   c                   K   yw)z
        Check if the task has been cancelled, and allow rescheduling of other tasks.

        This is effectively the same as running :meth:`checkpoint_if_cancelled` and then
        :meth:`cancel_shielded_checkpoint`.
        Nr6   rA   s    r<   
checkpointzAsyncBackend.checkpointc           c                   K   | j                         t        j                   k(  r| j                          d{    yy7 w)z
        Check if the current task group has been cancelled.

        This will check if the task has been cancelled, but will not allow other tasks
        to be scheduled if not.

        N)current_effective_deadlinemathinfrH   rA   s    r<   checkpoint_if_cancelledz$AsyncBackend.checkpoint_if_cancelledm   s7      ))+y8..""" 9"s   6A?Ac                   K   | j                  d      5  | j                  d       d{    ddd       y7 # 1 sw Y   yxY ww)z
        Allow the rescheduling of other tasks.

        This will give other tasks the opportunity to run, but without checking if the
        current task group has been cancelled, unlike with :meth:`checkpoint`.

        T)shieldr   N)create_cancel_scopesleeprA   s    r<   cancel_shielded_checkpointz'AsyncBackend.cancel_shielded_checkpointy   sG      $$D$1 	))A,	 		 	s$   A:8:	A:AAc                   K   yw)zt
        Pause the current task for the specified duration.

        :param delay: the duration, in seconds
        Nr6   )r7   delays     r<   rS   zAsyncBackend.sleep   rI   rJ   F)deadlinerQ   c                    y Nr6   )r7   rW   rQ   s      r<   rR   z AsyncBackend.create_cancel_scope       
 	r?   c                     y)aQ  
        Return the nearest deadline among all the cancel scopes effective for the
        current task.

        :return:
            - a clock value from the event loop's internal clock
            - ``inf`` if there is no deadline in effect
            - ``-inf`` if the current scope has been cancelled
        :rtype: float
        Nr6   rA   s    r<   rL   z'AsyncBackend.current_effective_deadline   r>   r?   c                     y rY   r6   rA   s    r<   create_task_groupzAsyncBackend.create_task_group        	r?   c                     y rY   r6   rA   s    r<   create_eventzAsyncBackend.create_event   r^   r?   c                    y rY   r6   )r7   fast_acquires     r<   create_lockzAsyncBackend.create_lock   r^   r?   N)	max_valuerb   c                    y rY   r6   )r7   initial_valuerd   rb   s       r<   create_semaphorezAsyncBackend.create_semaphore   s     	r?   c                     y rY   r6   )r7   total_tokenss     r<   create_capacity_limiterz$AsyncBackend.create_capacity_limiter   r^   r?   c                   K   y wrY   r6   )r7   r8   r9   abandon_on_cancellimiters        r<   run_sync_in_worker_threadz&AsyncBackend.run_sync_in_worker_thread         	rJ   c                     y rY   r6   rA   s    r<   check_cancelledzAsyncBackend.check_cancelled   r^   r?   c                     y rY   r6   r7   r8   r9   tokens       r<   run_async_from_threadz"AsyncBackend.run_async_from_thread        	r?   c                     y rY   r6   rs   s       r<   run_sync_from_threadz!AsyncBackend.run_sync_from_thread   rv   r?   c                     y rY   r6   rA   s    r<   create_blocking_portalz#AsyncBackend.create_blocking_portal   r^   r?   c                  K   y wrY   r6   )r7   commandstdinstdoutstderrr:   s         r<   open_processzAsyncBackend.open_process   s      	rJ   c                     y rY   r6   )r7   workerss     r<   #setup_process_pool_exit_at_shutdownz0AsyncBackend.setup_process_pool_exit_at_shutdown   r^   r?   c                   K   y wrY   r6   )r7   hostportlocal_addresss       r<   connect_tcpzAsyncBackend.connect_tcp        
 	rJ   c                   K   y wrY   r6   )r7   paths     r<   connect_unixzAsyncBackend.connect_unix        	rJ   c                     y rY   r6   r7   socks     r<   create_tcp_listenerz AsyncBackend.create_tcp_listener	  r^   r?   c                     y rY   r6   r   s     r<   create_unix_listenerz!AsyncBackend.create_unix_listener  r^   r?   c                   K   y wrY   r6   )r7   familyr   remote_address
reuse_ports        r<   create_udp_socketzAsyncBackend.create_udp_socket  ro   rJ   c                   K   y wrY   r6   r7   
raw_socketremote_paths      r<   create_unix_datagram_socketz(AsyncBackend.create_unix_datagram_socket  s      !rJ   c                   K   y wrY   r6   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket$  s      '*rJ   c                   K   y wrY   r6   r   s      r<   r   z(AsyncBackend.create_unix_datagram_socket*  r   rJ   r   )r   typeprotoflagsc                  K   y wrY   r6   )r7   r   r   r   r   r   r   s          r<   getaddrinfozAsyncBackend.getaddrinfo1  s     ( 	rJ   c                   K   y wrY   r6   )r7   sockaddrr   s      r<   getnameinfozAsyncBackend.getnameinfoG  r   rJ   c                   K   y wrY   r6   r   s     r<   wait_socket_readablez!AsyncBackend.wait_socket_readableN  r   rJ   c                   K   y wrY   r6   r   s     r<   wait_socket_writablez!AsyncBackend.wait_socket_writableS  r   rJ   c                     y rY   r6   rA   s    r<   current_default_thread_limiterz+AsyncBackend.current_default_thread_limiterX  r^   r?   c                     y rY   r6   )r7   signalss     r<   open_signal_receiverz!AsyncBackend.open_signal_receiver]  rZ   r?   c                     y rY   r6   rA   s    r<   get_current_taskzAsyncBackend.get_current_taskd  r^   r?   c                     y rY   r6   rA   s    r<   get_running_taskszAsyncBackend.get_running_tasksi  r^   r?   c                   K   y wrY   r6   rA   s    r<   wait_all_tasks_blockedz#AsyncBackend.wait_all_tasks_blockedn  r   rJ   c                     y rY   r6   )r7   r;   s     r<   create_test_runnerzAsyncBackend.create_test_runners  r^   r?   )
r8   1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]r9   tuple[Unpack[PosArgsT]]r:   dict[str, Any]r;   r   returnr0   )r   object)r   float)r   ztype[BaseException])r   None)rV   r   r   r   )rW   r   rQ   boolr   r!   )r   r.   )r   r   )rb   r   r   r   )rf   intrd   z
int | Nonerb   r   r   r    )ri   r   r   r   )FN)
r8   &Callable[[Unpack[PosArgsT]], T_Retval]r9   r   rl   r   rm   zCapacityLimiter | Noner   r0   )r8   r   r9   r   rt   r   r   r0   )r8   r   r9   r   rt   r   r   r0   )r   r#   )r|   z)StrOrBytesPath | Sequence[StrOrBytesPath]r}   int | IO[Any] | Noner~   r   r   r   r:   r   r   r-   )r   zset[Process]r   r   rY   )r   strr   r   r   IPSockAddrType | Noner   r)   )r   str | bytesr   r,   )r   r   r   r(   )
r   r   r   r   r   r   r   r   r   zUDPSocket | ConnectedUDPSocket)r   r   r   r   r   r+   )r   r   r   r   r   r&   )r   r   r   zstr | bytes | Noner   z0UNIXDatagramSocket | ConnectedUNIXDatagramSocket)r   zbytes | str | Noner   zstr | int | Noner   zint | AddressFamilyr   zint | SocketKindr   r   r   r   r   z]list[tuple[AddressFamily, SocketKind, int, str, tuple[str, int] | tuple[str, int, int, int]]])r   )r   r'   r   r   r   ztuple[str, str])r   r   r   r   )r   r   )r   r   r   z.AbstractContextManager[AsyncIterator[Signals]])r   r"   )r   zSequence[TaskInfo])r;   r   r   r/   ).__name__
__module____qualname__classmethodr   r=   rB   rD   rF   rH   rO   rT   rS   rM   rN   rR   rL   r]   r`   rc   rg   rj   rn   rq   ru   rx   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r?   r<   r4   r4   6   s   ? & 	
   
  (       U  U    	# 	# 	 	    "&((548	  
 
  
          
 !%" 	
  
      
 #(*.4 &  	
 ( 
      ? & 	
 
   4 & 	
 
      	:	 $		
 %	 %	 	 
	  	    JN!2G	  
           - .	
  
(   !!.2!	!  ! **.9*	$*  * .@	9  
  '(!"  
 $   
  ( 45%.1	  
          	7  
            r?   r4   )	metaclass)B
__future__r   rM   sysabcr   r   collections.abcr   r   r   r	   
contextlibr
   osr   signalr   r   r   r   typingr   r   r   r   r   r   version_infor   r   typing_extensionsr   _core._synchronizationr   r   r   r    _core._tasksr!   _core._testingr"   from_threadr#   _socketsr%   r&   r'   r(   r)   r*   r+   r,   _subprocessesr-   _tasksr.   _testingr/   r0   r1   r   bytesr2   __annotations__r4   r6   r?   r<   <module>r      s    "  
 ' H H -   4 4  w++6w +PP*),	 	 	 '!$:
#!#uo?P"PQ	 Q@W @r?   